能否根绝vue动态路由参数来设置此路由的component

image.png
在配置路由时,这个user组件能否根据前面的id来判断展示不同的组件,
比如user/1,component是组件1,user/2,component是组件2,目前采用的component is=,但是想直接在路由配置里去处理,有没有解决办法

阅读 2.5k
2 个回答
  1. 肯定要是路由钩子beforeEach,跳转之前处理;
  2. 可以使用跳转前addRoutes动态追回路由;
  3. 判断路由是否已经存在;

这个可以换个思路解决
第一步

routes: [
  {
    path: '/user:id',
    component:user
  }
]

第二步
在user组件
异步导入两个组件

<template>
<>
 <indexPage v-if="this.$route.params.id==='1'"/>
  <othetPagev-if="this.$route.params.id==='2'"/>
</>
</template>
<script>
 component : {
  indexPage:() => import('./indexPage),
  othetPage: () => import('./othetPage)
 },
 methods: {
 //改变路由参数的时候调用此方法
   changeParame (){
     this.$router.push(
       {
         path:'user/2'
       }
     )
   }
 }
</script>

比较繁琐,但是可以实现路由的切换,跳转,组件的动态改变。。嘻嘻

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题