1、配置router.config.js设置动态路由中path路径时,声明后加冒号“:”为变量,直接拼接在路径{path:'/sign-detail/:id',name:'sign-detail',component:()=>import('@/views/adv-order-management/sign-detail'),meta:{title:'Sign-updetails',keepAlive:false}}二、动态跳转方式可以直接拼接路径后面的变量id(下面的跳转是'/sign-detail/5')让id=5this.$router.push({path:'/sign-detail/'+id})3.动态路由页面获取参数从创建的对应页面的路由跳转对象$route的params中获取参数(){const{id}=this.$route.params}以上是动态路由的简单使用方法。4.查询键值对跳转查询使用更简洁,无需配置路由,参数多时更方便。跳转时,在query中传入key-value对(下面的跳转是'/sign-detail?id=5&type=1')letid=5this.$router.push({path:'/sign-detail',query:{id,//直接设置多个键值对type:1}})get,getcreated(){const{id,type}=this.$route.query}在路由跳转对象的查询中$route5.两种方法的异同?1.重要!当只有参数变化时,两种方法只更新路由,不触发页面刷新,例如'/sign-detail/5'跳转到'/sign-detail/4'或'/sign-detail?id=5'跳转到'/sign-detail?id=4'这两种情况,只能在地址栏看到路由变化,页面数据为没有更新,需要手动监听路由刷新,如:watch:{'$route'(){this.$router.go(0)}},2.如果你的项目中有很多重定向函数,选择动态路由是一种省心的方式,假设一个场景,我正在浏览页面'/sign-detail?id=5',我想要to在下一步中登录。当我在登录后被重定向回来时,我需要在查询中带上令牌。这个时候我肯定会需要一些代码来处理参数的合并,但是如果我选择'/sign-detail/5',这个场景我什么都不用做,直接重定向回来。3、当然两种方法都可以。这取决于你自己的需要。欢迎留言,一起探索更多~
