位置: IT常识 - 正文

vue项目pc端和移动端适配(vue移动和pc两套代码)

编辑:rootadmin
vue项目pc端和移动端适配 vue项目pc端和移动端适配1、pc端适配

推荐整理分享vue项目pc端和移动端适配(vue移动和pc两套代码),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:用vue做pc端适合吗,vue项目pc端和移动端适配,vue pc端,vue移动端和pc端写法一样吗,vue pc端,vue项目pc端和移动端适配,vue项目pc端和移动端多适配,vue移动端和pc端项目,内容如对您有帮助,希望把文章链接给更多的朋友!

一、样式中根据设计稿确定缩放比例(可以设置全局或者部分页面)

二、监听窗口大小改变,设置根字体大小 created() { // 获取当前设备的宽度,设置rem的根字体大小 let width = window.innerWidth; width = width <= 1200 ? 1200 : width; const htmlObj = document.getElementsByTagName(“html”)[0]; htmlObj.style.fontSize = width / 76.8 + “px”;

// 对resize事件进行浏览器兼容处理if (document.createEvent) { var event = document.createEvent("HTMLEvents"); event.initEvent("resize", true, true); window.dispatchEvent(event);} else if (document.createEventObject) { window.fireEvent("onresize");}// 监听页面resize事件,重新设置rem的根字体大小window.onresize = function () { let width = window.innerWidth; width = width <= 1200 ? 1200 : width; htmlObj.style.fontSize = width / 76.8 + "px";};

},

三、使用时 如: height:px2rem(100px)

四、如果是部分页面使用,需要页面销毁时清理 destroyed() { const htmlObj = document.getElementsByTagName(“html”)[0]; htmlObj.style.fontSize = “”; window.onresize = null; },

2、移动端项目适配

实现移动端适配步骤如下 1.先安装amfe-flexible和postcss-pxtorem npm install amfe-flexible --save npm install postcss-pxtorem --save 在main.js导入amfe-flexible import ‘amfe-flexible’; 2.配置postcss-pxtorem ,可在vue.config.js、postcsssrc.js、postcss.config.js、其中之一配置,权重从左到右降低,没有则新建文件,只需要设置其中一个即可 在vue.config.js配置如下 module.export={ //…其他配置 css:{ loaderOptions:{ postcss:[ require(‘postcss-pxtorem’)({ rootValue:37.5, propList:[‘‘] }) ] } } } 在.postcssrc.js或postcss.config.js中配置如下: module.exports = { “plugins”: { ‘postcss-pxtorem’: { rootValue: 37.5, propList: [’’] } } }

rootValue根据设计稿宽度除以10进行设置,这边假设设计稿为375,即rootValue设为37.5; propList是设置需要转换的属性,这边*为所有都进行转换。 测试结果:

css中设置某类宽度为375px: .content{ width:375px; }

vue项目pc端和移动端适配(vue移动和pc两套代码)

运行后在浏览器可以发现已经转化为10rem,即375/设置的rootValue: 以上情况则说明postcss-pxtorem配置成功 html的字体大小跟随设备宽度进行改变,body跟随设备的dpr进行改变,这是amfe-flexible的实现,即说明配置成功。 说明,安装过程中可能会遇到以下报错: 1.安装配置后,发现rem并没有生效,解决办法:使用vue.config.js去配置,不要用postcss.config.js 2.抛错[object Object] is not a PostCSS plugin。报错原因:postcss-pxtorem版本太高,更改版本为5.1.1。npm install postcss-pxtorem@5.1.1

3、同时兼任pc和移动适配

通过配置两套不同路由和判断是否是移动端实现 1、写好两套路由 import Vue from “vue”; import VueRouter from “vue-router”;

Vue.use(VueRouter);

//默认路由 export const routes = [ { path: “/”, redirect: “/home”, }, ]; //pc端的路由 export const pcRoutes = [ { path: “/”, redirect: “/home”, }, { path: “/home”, name: “Home”, component: () => import(/* webpackChunkName: “about” / “…/views/home/pc.vue”), }, ]; //移动端设备路由 export const mobileRoutes = [ { path: “/”, redirect: “/home”, }, { path: “/home”, name: “Home”, component: () => import(/ webpackChunkName: “about” */ “…/views/home/mobile.vue”), }, ];

const createRouter = () => new VueRouter({ scrollBehavior: () => ({ y: 0 }), mode: “history”, routes: routes, });

const router = createRouter();

// Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465 export function resetRouter() { const newRouter = createRouter(); router.matcher = newRouter.matcher; // reset router }

export default router;

2、封装一个判断是否是移动端的方法 // 判断设备是否为移动端的方法 export const isMobile = () => { return /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i.test( navigator.userAgent ); };

3、src目录下创建一个init.js文件用于判断机型从而添加相应的路由 import router from “./router”; import { isMobile } from “./utils”; import { pcRoutes, mobileRoutes } from “./router”;

// 判断当前设备的型号从而改变当前路由 router.addRoute(isMobile() ? mobileRoutes[1] : pcRoutes[1]);

4、最后在vue项目的入口文件main.js文件中引入init.js。 import “./init.js”;

本文链接地址:https://www.jiuchutong.com/zhishi/285052.html 转载请保留说明!

上一篇:应付债券的会计帐务怎么处理?(应付债券的会计处理例题)

下一篇:cuda常见报错(cuda completed with errors)

  • mac怎么开机(mac怎么开机进入磁盘工具)

    mac怎么开机(mac怎么开机进入磁盘工具)

  • 支付宝怎么申请失业补助金(支付宝怎么申请商家账户)

    支付宝怎么申请失业补助金(支付宝怎么申请商家账户)

  • 魅族 18 Pro支持的视频频格式有哪些(魅族18pro支持多少倍变焦)

    魅族 18 Pro支持的视频频格式有哪些(魅族18pro支持多少倍变焦)

  • 荣耀30pro的yoyo唤醒词可以更换吗(荣耀30pro的yoyo怎么唤醒)

    荣耀30pro的yoyo唤醒词可以更换吗(荣耀30pro的yoyo怎么唤醒)

  • 麒麟820相当于骁龙什么处理器(麒麟820相当于骁龙多少处理器)

    麒麟820相当于骁龙什么处理器(麒麟820相当于骁龙多少处理器)

  • 华为nova7和nova7Pro的区别(华为nova7和nova7pro充电器的区别)

    华为nova7和nova7Pro的区别(华为nova7和nova7pro充电器的区别)

  • 苹果悬浮窗口怎么设置(苹果悬浮窗口怎么弄)

    苹果悬浮窗口怎么设置(苹果悬浮窗口怎么弄)

  • 贝壳视频充值后可以用吗(贝壳视频有风险吗)

    贝壳视频充值后可以用吗(贝壳视频有风险吗)

  • 荣耀20青春版和nova5ipro对比(荣耀20青春版和哪个型号通用)

    荣耀20青春版和nova5ipro对比(荣耀20青春版和哪个型号通用)

  • 蓝牙耳机听歌能听多久(蓝牙耳机听歌能听见生音,为啥接电话听不见生音)

    蓝牙耳机听歌能听多久(蓝牙耳机听歌能听见生音,为啥接电话听不见生音)

  • 屏幕解锁老是闪一下(屏幕解锁后屏幕一闪)

    屏幕解锁老是闪一下(屏幕解锁后屏幕一闪)

  • 分量输入接口做什么用(分量输入接口改视频接口方法)

    分量输入接口做什么用(分量输入接口改视频接口方法)

  • 苹果11怎么关闭快门声音(苹果11怎么关闭打开的软件)

    苹果11怎么关闭快门声音(苹果11怎么关闭打开的软件)

  • i7-9750h处理器怎么样(i79750h处理器怎么样是几代)

    i7-9750h处理器怎么样(i79750h处理器怎么样是几代)

  • 数据线进水了还能用吗(数据线 进水)

    数据线进水了还能用吗(数据线 进水)

  • 小米人工智能叫什么(你认识小米的人工智能吗)

    小米人工智能叫什么(你认识小米的人工智能吗)

  • 睡眠是windows7提供的一种什么状态(睡眠是windows7中的什么命令)

    睡眠是windows7提供的一种什么状态(睡眠是windows7中的什么命令)

  • windows提供的用户界面是什么(windows提供的用户界面是什么界面)

    windows提供的用户界面是什么(windows提供的用户界面是什么界面)

  • 群里发消息为什么看不到(群里发消息为什么撤回了手机还显示)

    群里发消息为什么看不到(群里发消息为什么撤回了手机还显示)

  • 怎样避免被好友拉进群(怎样避免被好友拉进群聊)

    怎样避免被好友拉进群(怎样避免被好友拉进群聊)

  • 淘宝好评率怎么看(淘宝的好评率是怎么评的)

    淘宝好评率怎么看(淘宝的好评率是怎么评的)

  • 华为手机振动怎么调大(华为手机振动怎么关?)

    华为手机振动怎么调大(华为手机振动怎么关?)

  • ios12怎么设置访问权限(iphone12怎么设置访客模式)

    ios12怎么设置访问权限(iphone12怎么设置访客模式)

  • 怎么可以看爱奇艺会员(怎么可以看爱奇艺的视频)

    怎么可以看爱奇艺会员(怎么可以看爱奇艺的视频)

  • 快手上怎么下单买东西(快手怎么下单不付款)

    快手上怎么下单买东西(快手怎么下单不付款)

  • oppo手机怎样打印(oppo手机怎样打开后盖)

    oppo手机怎样打印(oppo手机怎样打开后盖)

  • 微信发不了动图吗(微信发不了动图是怎么回事)

    微信发不了动图吗(微信发不了动图是怎么回事)

  • 苹果设置授权在哪里(iphone授权设置)

    苹果设置授权在哪里(iphone授权设置)

  • 教你从Windows 10彻底删除Flash的两种技巧(教你从脸上看出风水)

    教你从Windows 10彻底删除Flash的两种技巧(教你从脸上看出风水)

  • essdc.exe是什么进程 essdc进程信息查询(esafec.dll是什么东西)

    essdc.exe是什么进程 essdc进程信息查询(esafec.dll是什么东西)

  • Oracle系列之十:Oracle正则表达式(“oracle”)

    Oracle系列之十:Oracle正则表达式(“oracle”)

  • 合同执行过程中应该怎么做
  • 城市维护建设税计算公式
  • 一般纳税人结转税额怎么做会计分录
  • 收到天使投资如何做账
  • 收到工程服务费会计分录
  • 成本费用总额占营业收入比重
  • 销项发票导出是什么意思
  • 个体工商户网上报税流程
  • 进项票错了但是销项票开出去了怎么办
  • 有限合伙企业利润先税后分
  • 合同印花税用不用计提
  • 免抵退税怎么做账
  • 如何确定企业
  • 房地产企业收到预收款如何纳税
  • 无形资产摊销是增加还是减少
  • 小微企业免征增值税优惠
  • 房地产开发企业资质等级有几个
  • 服务性行业受气
  • 查账征收企业所得税季报怎么填
  • 公司增资减资法条
  • 个人所得税征收范围
  • 跨年度暂估成本入账冲回如何会计分录
  • 研发费用的归集范围
  • php双冒号和箭头
  • linux小技巧
  • PHP:pg_fetch_object()的用法_PostgreSQL函数
  • 意外保险费是什么意思
  • 会计分录有哪几种形式
  • 前端框架view
  • cnqmax.exe进程的详细注解 cnqmax进程是病毒吗 安全吗
  • php 统计
  • PHP:escapeshellcmd()的用法_命令行函数
  • nginx隐藏后缀
  • 用交易所转付货款怎么转
  • 在途物资属于什么存货
  • thinkphp框架安装
  • 划拨建设用地使用权没有使用期限的限制
  • 前后端分离与不分离
  • vue中的proxy代理
  • php链表的应用场景
  • roi opencv
  • 怎么用switch语句
  • 工作服计入什么明细科目
  • 发票收款人与复核人为空
  • access数据库干嘛的
  • 客户发票弄丢了应该如何补救
  • mysql和mongo的区别
  • SQLserver行转列
  • 核定征收过了时间就不能申请了吧
  • 预期损失el
  • 主办会计的工作内容和职责
  • 外经证预缴的附加税税率
  • 工程物资属于什么科目资产负债表
  • 非居民企业所得税征收方式鉴定表
  • 减免的税金怎样做会计分录
  • 凭空多出来的原材料的账务处理?
  • 只有进项要交税吗
  • 公允价值模式下出售投资性房地产
  • 银行转账支付方式包括哪些
  • 安装win7旗舰版鼠标无法使用
  • 如何查看网络连接密码
  • win7系统扫描在哪里
  • on_wm_lbuttondown
  • win10系统自带的浏览器叫什么
  • linux怎么查看
  • win7防火墙怎么彻底关闭
  • linux各种重定向及其含义
  • 使用jquery实现的项目
  • vue-cli作用
  • android的布局文件
  • 编写批处理运行程序
  • node.js app
  • unity3d物体旋转
  • unity游戏开发简历
  • ubuntu快捷键大全
  • javascript教学视频
  • js面向对象编程实例
  • SpringMVC restful 注解之@RequestBody进行json与object转换
  • Python中的多行注释文档编写风格汇总
  • 软件销售税率13还是6还是9
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设