Vue根据不同设备跳转不同路由

文章介绍了如何设置Vue.js应用中的公共路由,包括一个用于PC端的design路由和一个用于非移动端的design3路由。通过检测window.navigator.userAgent来判断设备类型,匹配到移动端设备时,应用将跳转至design3,否则推送到design路由,实现不同设备的适配跳转。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 建立公共路由

export const constantRoutes = [
  {
    path: "/design",
    name: "design",
    component: () => import('@/views/design'),
    props: true
  },
  {
    path: "/design3",
    name: "design3",
    component: () => import('@/views/design3'),
    props: true
  }
]

其中design为PC端跳转路由,design3为非移动端跳转路由。

二. 条件判断

if 
(window.navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)){
        this.$router.push({
          name: 'design3',
        })
}else {
       this.$router.push({
        name: 'design',
      })

如何使非PC端设备跳转design3,移动端设备跳转design。

三. 效果展示

移动端

非移动端

### Vue3 中实现路由跳转不同组件的方法 在 Vue3 中,为了实现在不同的视图之间切换展示不同的组件,通常会使用 `vue-router` 库。下面是一个简单的例子说明如何设置基本的路由以及怎样从一个页面跳转至另一个页面。 #### 创建基础项目结构与安装依赖 确保已经安装了 vue-router: ```bash npm install vue-router@next --save ``` #### 配置路由规则 创建一个新的文件用于保存所有的路由配置,在此示例中命名为 `router/index.js`: ```javascript // router/index.js import { createRouter, createWebHistory } from 'vue-router' import HomeView from '../views/HomeView.vue' // 假设这是主页组件 import AboutView from '../views/AboutView.vue' // 关于页组件 const routes = [ { path: '/', name: 'home', component: HomeView, }, { path: '/about', name: 'about', component: AboutView, } ] const router = createRouter({ history: createWebHistory(), routes }) export default router; ``` #### 设置主应用文件 修改 `main.js` 文件以导入并使用新创建的路由器实例: ```javascript // main.js import { createApp } from 'vue'; import App from './App.vue'; import router from './router'; createApp(App).use(router).mount('#app'); ``` #### 添加 `<router-view>` 和链接按钮 编辑 `App.vue` 或者其他模板文件加入如下代码片段以便显示当前匹配路径下的组件,并提供导航链接: ```html <!-- App.vue --> <template> <div id="nav"> <router-link to="/">Home</router-link> | <router-link to="/about">About</router-link> </div> <router-view /> </template> <script> export default {}; </script> ``` 这样就完成了最基础版本的多页面布局[^1]。 对于更复杂的场景比如带参数的动态路由或者编程式的导航,则可以参照官方文档或者其他教程深入学习更多特性[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值