【学习笔记07】vue3移动端的适配

news2024/11/17 9:45:30

目录

    • 1、创建一个项目并启动
    • 2、设置根字体大小和单位转化
    • 3、去掉边框距离
    • 4、css的嵌套使用
    • 5、连接到手机上显示
    • 6、vant ui 库的使用
      • 6.1 基础用法
      • 6.2 底部导航栏
    • 7、模拟锤子商城
      • 7.1 请求数据
      • 7.2 解决跨越
      • 7.3 组件切换
      • 7.4 轮播图的实现


1、创建一个项目并启动


  • npm init vue@latest
  • cd demo
  • npm install
  • code .
  • npm run dev

在这里插入图片描述

在这里插入图片描述

2、设置根字体大小和单位转化


  • 安装 npm i amfe-flexible postcss-pxtorem -S
  • amfe-flexible:用于设置根字体大小的
  • postcss-pxtorem:用来自动转换单位的
  • 在根目录创建一个 .postcssrc.js
    main.js文件中,导入import 'amfe-flexible/index'

在这里插入图片描述

	  module.exports = {
	    plugins: {
	      "postcss-pxtorem": {
	        rootValue: 37.5,
	        propList: ["*"],
	      },
	    },
	  };

在这里插入图片描述

App组件

<template>
  <div>
    <div class="box">
      <a href="">App组件</a>
    </div>
  </div>
</template>
<style scoped>
  body{
    font-size: 12px;
  }
  .box{
    width: 200px;
    height: 100px;
    line-height: 100px;
    text-align: center;
    background-color: pink;
  }
</style>

在这里插入图片描述

3、去掉边框距离


  • import ‘normalize.css’
  • npm i normalize.css

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4、css的嵌套使用


  • npm i sass
<style lang="scss" scoped>
$color: red;
@mixin yj($radius){
  border-radius: $radius;
}
  .box{
    width: 200px;
    height: 100px;
    line-height: 100px;
    font-size: 30px;
    text-align: center;
    background-color: pink;
    @include yj(10px);
    a{
      text-decoration: none;
      &:hover{
        color: fuchsia;
      }
    }
  }
</style>

在这里插入图片描述

在这里插入图片描述

5、连接到手机上显示


1、手机和电脑在一个网段上,简单说来就是手机给电脑开热点或者电脑给手机开热点,有或许电脑和手机连接的是一个WiFi
2、在vite.config.js上,添加一下内容
在这里插入图片描述

在这里插入图片描述

6、vant ui 库的使用


6.1 基础用法

  • 官网:https://vant-contrib.gitee.io/vant/#/zh-CN/
  • 插件:npm i vant
  • 在main.js中引入组件样式:import 'vant/lib/index.css';

在这里插入图片描述

6.2 底部导航栏

官网

在这里插入图片描述

App组件

<template>
  <div>
    <van-tabbar v-model="active">
      <van-tabbar-item icon="home-o">标签</van-tabbar-item>
      <van-tabbar-item icon="search">标签</van-tabbar-item>
      <van-tabbar-item icon="friends-o">标签</van-tabbar-item>
      <van-tabbar-item icon="setting-o">标签</van-tabbar-item>
    </van-tabbar>
  </div>
</template>
<script>
export default {
  data() {
    return {
      active:0
    }
  },
}
</script>

main.js中导入

在这里插入图片描述

效果显示

在这里插入图片描述

7、模拟锤子商城

  • 官网:https://www.smartisan.com/

7.1 请求数据

在这里插入图片描述
在这里插入图片描述

7.2 解决跨越

    proxy: {
      // 选项写法
      '/api': {
        target: 'https://shopapi.smartisan.com',
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/api/, '')
      },
    }

在这里插入图片描述

7.3 组件切换

在这里插入图片描述

<template>
  <div>
    <router-view></router-view>
    <van-tabbar v-model="active" active-color="#F00" route>
      <van-tabbar-item icon="wap-home-o" to="/">首页</van-tabbar-item>
      <van-tabbar-item icon="bars" to="/list">分类</van-tabbar-item>
      <van-tabbar-item icon="shopping-cart-o" to="/cart">购物车</van-tabbar-item>
      <van-tabbar-item icon="manager-o" to="/myself">个人中心</van-tabbar-item>
    </van-tabbar>
  </div>
</template>

在这里插入图片描述

7.4 轮播图的实现

在这里插入图片描述

<template>
  <div>
    <van-swipe class="my-swipe" :autoplay="3000" indicator-color="white">
      <van-swipe-item>1</van-swipe-item>
      <van-swipe-item>2</van-swipe-item>
      <van-swipe-item>3</van-swipe-item>
      <van-swipe-item>4</van-swipe-item>
    </van-swipe>
  </div>
</template>
<script>
import axios from 'axios'
export default {
  data() {
    return {
      list: []
    }
  },
  created() {
    axios.get('api/mobile/new/home?channel_id=1002').then((res)=>{
      console.log(res);
      this.list=res.data.data[0].content
    })
  },
}
</script>
<style scoped>
  .my-swipe .van-swipe-item {
    color: #fff;
    font-size: 20px;
    line-height: 150px;
    text-align: center;
    background-color: #39a9ed;
  }
</style>

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/111648.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【OpenCV-Python】教程:7-4 KMeans 应用

OpenCV Python KMeans 应用 【目标】 使用 cv2.kmeans 对数据进行聚类 【代码】 1. 单个特征的 KMeans # 单特征数据的聚类 import numpy as np import cv2 from matplotlib import pyplot as pltx np.random.randint(25,100,25) y np.random.randint(175,255,25)z np.h…

Linux系统下管理员账号root忘记密码怎么找回

忘记root密码一般有两种情况&#xff1a; 一种是登上了root账号&#xff0c;但是忘记密码了&#xff0c;这种情况比较简单&#xff0c;在终端即可实现修改密码&#xff1b; 一种是登录不上root账号&#xff0c;这种情况稍微麻烦些&#xff0c;需要开机时进行一系列操作。 不能登…

【源码共读】Css-In-Js 的实现 classNames 库

classNames是一个简单的且实用的JavaScript应用程序&#xff0c;可以有条件的将多个类名组合在一起。它是一个非常有用的工具&#xff0c;可以用来动态的添加或者删除类名。 仓库地址&#xff1a;classNames 使用 根据classNames的README&#xff0c;可以发现库的作者对这个…

Spring 事务失效的常见八大场景,注意避坑

1. 抛出检查异常导致事务不能正确回滚 Servicepublic class Service1 {Autowiredprivate AccountMapper accountMapper;Transactionalpublic void transfer(int from, int to, int amount) throws FileNotFoundException {int fromBalance accountMapper.findBalanceBy(from);…

【源码共读】学习 axios 源码整体架构 (II)

源码分析 跳转至Axios.js文件中 // 构造函数 constructor(instanceConfig) {this.defaults instanceConfig// 创建对应的拦截器this.interceptors {request: new InterceptorManager(),response: new InterceptorManager()} } 那么&#xff0c;拦截器是怎么创建的呢 首先&a…

【云服务器 ECS 实战】一文掌握弹性伸缩服务原理及配置方法

1. 弹性伸缩概述2. 实现模式3. 基于 GRE 实现 VPC 的互联4. 弹性伸缩服务的配置使用4.1 创建伸缩组4.2 伸缩配置4.3 创建伸缩规则1. 弹性伸缩概述 弹性伸缩&#xff08;Auto Scaling&#xff09;就是自动为我们调整弹性计算资源大小&#xff0c;以满足业务需求的变化&#xff…

javaee之spring1

什么是Spring 一、Spring的优势 二、Spring的体系结构 先说一下从什么位置去下载Spring的源码 进入Spring官网&#xff0c;找到Spring Framework框架 点进去之后&#xff0c;找到如下位置&#xff0c;继续点击 进去之后&#xff0c;继续下拉&#xff0c;找到下面这个位置点进…

慕了,我要是早点看到这篇写 Kafka 的分区管理的文章就好了

Kafka可以将主题划分为多个分区&#xff08;Partition&#xff09;&#xff0c;会根据分区规则选择把消息存储到哪个分区中&#xff0c;只要如果分区规则设置的合理&#xff0c;那么所有的消息将会被均匀的分布到不同的分区中&#xff0c;这样就实现了负载均衡和水平扩展。另外…

可以做抽奖活动的微信小程序在哪里做_分享抽奖活动小程序制作步骤

越来越多的企业开始了解微信抽奖游戏的实用性和价值&#xff0c;因为用户更喜欢简单有趣的游戏抽奖方式&#xff0c;如大转盘、摇一摇、抢福袋、砸金蛋、摇一摇、刮刮卡等互动抽奖游戏。 如果企业想制作这种抽奖游戏&#xff0c;都倾向使用市场上的各种抽奖制作软件&#xff0c…

(Java)车厢重组

车厢重组一、题目描述二、输入格式三、输出格式四、样例&#xff08;1&#xff09;样例输入&#xff08;2&#xff09;样例输出五、正确代码六、思路一、题目描述 在一个旧式的火车站旁边有一座桥&#xff0c;其桥面可以绕河中心的桥墩水平旋转。一个车站的职工发现桥的长度最…

网络技术——网络运维工程师必会的网络知识(2)(详细讲解)

作者简介&#xff1a;一名在校云计算网络运维学生、每天分享网络运维的学习经验、和学习笔记。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 目录 前言 网络传输介质 信号分类和失真 双绞线分类&#xff1a; 双绞线…

非计算机专业,可以学好编程吗?

现在IT行业越来越火热&#xff0c;想要学习编程的人也越来越多。IT行业的薪资连续好几年赶超金融行业&#xff0c;位居行业之首&#xff0c;有太多人转行跨界&#xff0c;想要进入这个领域&#xff0c;那么作为初学者的你&#xff0c;是不是也很困惑&#xff0c;非科班&#xf…

Web入门开发【四】- 基础语言

欢迎来到霍大侠的小院&#xff0c;我们来学习Web入门开发的系列课程。 首先我们来了解下这个课程能学到什么&#xff1f; 1、你将可以掌握Web网站的开发全过程。 2、了解基础的HTML&#xff0c;CSS&#xff0c;JavaScript语言。 3、开发自己的第一个网站。 4、认识很多对编…

Java笔记之多线程(一)

文章目录前言一、什么是进程与线程&#xff1f;1.进程2.线程3.其他相关概念二、如何创建线程1.继承Thread类&#xff0c;重新run方法2.实现Runnable接口3.通过Callable和Future创建线程4. 继承Thread vs实现Runnable的区别三、用户线程和守护线程守护线程的使用设置成守护线程四…

【Python百日进阶-数据分析】Day137 - plotly旭日图:go.sunburst()实例

文章目录4.2 带有 go.Sunburst 的基本旭日图4.2.1 基本go.sunburst()旭日图4.2.2 带有重复标签的旭日图4.2.3 分支值4.2.4 大量切片4.2.5 控制旭日形扇区内的文本方向4.2.6 使用 uniformtext 控制文本字体大小4.2.7 具有连续色标的旭日图4.2.8 Dash中的go.sunburst()4.2 带有 g…

Android hilt 依赖注入使用详解

文章目录官方文档添加依赖初始化hiltMainActivity 使用共享类在 MainActivity 添加依赖注入ActivityScoped 作用域Singleton 作用域构造参数&#xff0c;添加 Context参数ApplicationContext、ActivityContext官方文档 https://developer.android.com/training/dependency-inj…

【Linux】缓冲区/磁盘inode/动静态库制作

目录 一、缓冲区 1、缓冲区的概念 2、缓冲区的意义 3、缓冲区刷新策略 4、同一份代码&#xff0c;打印结果不同 5、仿写FILE 5.1myFILE.h 5.2myFILE.c 5.3main.c 6、内核缓冲区 二、了解磁盘 1、磁盘的物理结构 2、磁盘的存储结构 2.1磁盘的定位 3、磁盘的抽象…

基于价值迭代求解迷宫寻路问题

摘 要 迷宫寻路是人工智能和计算机科学中一个经典的问题。它涉及在迷宫中找到一条从起点到终点的最短路径。这个问题可以用来模拟真实世界中的许多情况&#xff0c;例如机器人在工厂中自动导航&#xff0c;搜索引擎在网络中寻找信息&#xff0c;或者人类在城市中导航。 迷宫寻路…

【Javascript基础】--零基础--超详细且简洁的Javascript笔记--简介(01)

参考资料&#xff1a; 【现代Javascript教程】https://zh.javascript.info/ 【MDN】https://developer.mozilla.org/zh-CN/ 笔记仅作为学习交流载体&#xff0c;无任何商业或盈利目的 JavaScript 简介 了解 JavaScript 有什么特别之处&#xff0c;我们可以用它实现什么&#…

适合编程初学者的开源博客系统(Vue3+Element Plus版)

目标 为编程初学者打造入门学习项目&#xff0c;使用各种主流编程语言来实现。让想学编程的&#xff0c;一个都不落下。 上述基本涵盖了当前编程开发所有主流语言。 左侧为前端版本&#xff1a;安卓、iOS、鸿蒙、Flutter、Vue、uni-app、微信小程序。 右侧为服务器端版本&am…