位置: 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)

  • ppt里边怎么加入视频(怎样在ppt中加入)

    ppt里边怎么加入视频(怎样在ppt中加入)

  • 微信音乐怎么导入本地音乐(微信音乐怎么导出来)

    微信音乐怎么导入本地音乐(微信音乐怎么导出来)

  • 苹果关机了还能查到定位吗(苹果关机了还能听到闹钟吗)

    苹果关机了还能查到定位吗(苹果关机了还能听到闹钟吗)

  • 笔记本电脑鼠标触摸板没反应是什么原因(笔记本电脑鼠标没反应是哪个键锁了)

    笔记本电脑鼠标触摸板没反应是什么原因(笔记本电脑鼠标没反应是哪个键锁了)

  • 苹果se2截屏方法(苹果se2截屏方法视频)

    苹果se2截屏方法(苹果se2截屏方法视频)

  • 四核四线程和四核八线程的区别(四核四线程和四核八线程那个做软路由合适)

    四核四线程和四核八线程的区别(四核四线程和四核八线程那个做软路由合适)

  • 华为nova6上市日期(华为nova6什么时候上市的,上市价格)

    华为nova6上市日期(华为nova6什么时候上市的,上市价格)

  • qq震动在哪里设置(qq振动怎么设置)

    qq震动在哪里设置(qq振动怎么设置)

  • 毒上可以退换货吗(毒上可以换货或者退款吗)

    毒上可以退换货吗(毒上可以换货或者退款吗)

  • 收藏店铺就是关注吗(收藏店铺什么意思)

    收藏店铺就是关注吗(收藏店铺什么意思)

  • ale-tl00是什么型号(ale一tl00)

    ale-tl00是什么型号(ale一tl00)

  • 不想看到微信好友发来的信息怎么办(不想看到微信好友的朋友圈怎么办)

    不想看到微信好友发来的信息怎么办(不想看到微信好友的朋友圈怎么办)

  • 支付宝好友删除后怎么恢复(支付宝好友删除了还能转账吗)

    支付宝好友删除后怎么恢复(支付宝好友删除了还能转账吗)

  • 华为曲面屏容易碎吗(华为曲面屏容易碎边吗)

    华为曲面屏容易碎吗(华为曲面屏容易碎边吗)

  • 联想笔记本开机键闪烁(联想笔记本开机u盘启动按什么键)

    联想笔记本开机键闪烁(联想笔记本开机u盘启动按什么键)

  • 手机突然黑屏开不了机(手机突然黑屏开不了机充电也没反应)

    手机突然黑屏开不了机(手机突然黑屏开不了机充电也没反应)

  • 魅族手机是属于什么品牌(魅族手机是属于华为系列的吗)

    魅族手机是属于什么品牌(魅族手机是属于华为系列的吗)

  • css和djs区别(css与js的区别)

    css和djs区别(css与js的区别)

  • 微博音乐带三角怎么发(微博怎么带音乐三角形2018版)

    微博音乐带三角怎么发(微博怎么带音乐三角形2018版)

  • ie浏览器如何取消360导航(ie浏览器如何取消保存密码)

    ie浏览器如何取消360导航(ie浏览器如何取消保存密码)

  • 苹果电话支持已过期是什么意思(苹果电话支持已过期怎么查激活时间)

    苹果电话支持已过期是什么意思(苹果电话支持已过期怎么查激活时间)

  • 电脑com是什么意思(电脑上com是什么意思)

    电脑com是什么意思(电脑上com是什么意思)

  • 如何设置Win8电脑音效?设置Win8电脑音效的方法(win8.1电脑设置在哪里)

    如何设置Win8电脑音效?设置Win8电脑音效的方法(win8.1电脑设置在哪里)

  • 为什么电脑连上wifi却上不了网?(为什么电脑连上蓝牙耳机却是外放)

    为什么电脑连上wifi却上不了网?(为什么电脑连上蓝牙耳机却是外放)

  • 解决前端跨域的几种方法(前端解决跨域问题的8种方案(最新最全))

    解决前端跨域的几种方法(前端解决跨域问题的8种方案(最新最全))

  • 运输公司税率和税种
  • 小规模增值税税率表2023年最新版
  • 增值税留抵税额是什么意思
  • 用友U8财务报表UFO怎么生成
  • 交易性资产入账金额和入账金额区别
  • 如何开小加工厂
  • 不得抵扣的进项税额转出会计分录
  • 怎么调开票金额
  • 广告公司如何申报文化事业建设税
  • 建筑公司现金日记账怎么填写
  • 金税三期个人所得税税率
  • 建筑工程地址
  • 服务类的企业发票税率
  • 不影响利润的跨期发票如何处理?
  • 农产品销售发票能否抵扣进项税?
  • 收到员工偿还的借款8000元,所生成的凭证会计分录
  • 公司之间借款收据要领导签字吗
  • 工程施工方安全责任
  • 投资利税率计算器在线计算
  • 在两处取得收入
  • 注册中的商标转让
  • efi bios u盘启动
  • 车船税可以抵扣个税吗
  • 深入浅出stm8
  • windows10和win10
  • 贷款房屋评估费怎么收
  • 企业年金基金缴费必须归集到受托财产托管账户
  • 怎么修改?
  • 税收返还需要缴纳什么税
  • 视同销售的会计处理怎么做?
  • 纳税人临时到外省从事经营活动
  • php memory_get_usage
  • 曲折的拼音
  • [Vue warn]: Error in created hook: “TypeError: Cannot read properties of undefined (reading ‘$on‘)“
  • 结转工资费用
  • 政府会计制度中固定资产报废的账务处理
  • 金税盘如何使用流程
  • 新成立公司建账
  • 小微企业认定标准时间
  • yolo目标识别
  • php curlfile
  • 命令启动服务管理
  • 笨办法学python 3电子书下载
  • 固定资产损失用什么科目
  • 公司向法人借款会计分录
  • 装订会计凭证步骤
  • 机器维修费属于什么会计科目
  • 其他应收款的账龄如何计算时间
  • 应收代位追偿款有没有明细科目
  • 对外公司
  • 公司宿舍楼出租让我当甲方违法吗
  • 业务招待费可以开专票抵扣吗
  • 2018城镇医疗保险缴费
  • 土地前期开发费用属于开发成本吗
  • 资产负债表的资产按流动性大小排列
  • 背书转让的电子汇票怎么查询
  • 单位收走三方协议
  • 金蝶软件kis标准版操作流程
  • 查账征收的个体户怎么交个税
  • 购买方账务处理
  • mysql中sum的用法
  • mysql字符串类型有哪些
  • windows server 2003与2008的区别联系与选择指南
  • fedora phpMyAdmin 安装方法及介绍
  • 第一启动项硬盘
  • linux如何开启ftp
  • win8经典模式
  • linux磁盘分区表
  • win7系统网速太慢怎么办
  • linux网络设备有哪些
  • win8怎么清空电脑只剩系统
  • 高斯软件最新版本
  • 请找到以下
  • 远程计算机的命令
  • angularjs常用总结
  • js实例教程
  • html5 jquery
  • 下列关于javascript的叙述正确的有
  • js获取设备
  • 怎么用jquery
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设