关于vue.js实现PC端与APP切换渲染同路由

本文探讨了在Vue.js中如何避免使用APP.vue入口文件判断PC和APP端,而是采用路由守卫解决页面刷新后重新加载的问题。通过详细讲解main.js和index.js的配置,介绍了一种更优的方案来确保不同设备正确渲染同一路由。同时提供了路由守卫的官方文档链接,以帮助开发者深入理解这一技术。
摘要由CSDN通过智能技术生成

关于vue.js实现PC端与APP切换渲染同路由

关于pc端和app切换网上很多教程是使用的在入库文件"APP.vue"添加判断,这确实很方便,但是也会延伸出很多BUG,比如刷新页面会再一次进入入口文件,路由又会重新刷新到入口文件定义的地址,于是想到使用路由守卫来判断是pc端还是mobile端。
路由守卫地址:https://router.vuejs.org/zh/guide/advanced/navigation-guards.html

main.js

//定义移动端
function _isMobile() {
   
  let flag = navigator.userAgent.match(/(phone|pad|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows phone)/i
);
  return flag;
}

// 路由守卫
router.beforeEach((to, from, next) => {
   
  // 初始化路径,对引路由index.js,如果没设置可以设置一个路径为'/'的路由
  
  if (to.path == "/") {
     //重点,如果没有写这个判断,会导致死循环栈溢出
    if (_isMobile()) {
   
      // 手机端
      next("/mobile/home");
    } else {
   
      // pc端
      next("/pc/home");
    }
  } else {
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值