当前位置: 首页 > Web前端 > HTML

新手使用vue-router传参注意事项

时间:2023-04-02 11:03:07 HTML

1.使用name和params组合传参this.$router.push({name:'details',params:{'id':233}})路由配置importVuefrom'vue'importRouterfrom'vue-router'Vue.use(Router)exportdefaultnewRouter({mode:'history',routes:[{path:'/details',name:'details',component:resolve=>require(['../components/details'],resolve)}]})getparameterthis.$route.params.id//233刷新参数丢失并显示undefinedthis.$route.params.id//undefined注意:第一个没有问题这个方法的跳转,也可以传入参数,但是刷新页面后,参数就没有了(ps:这里其实还有一个问题,当你传的参数是number类型的时候,第一次没有问题,而且拿到的时候也是number类型,但是刷新页面的时候,number变成了string类型,如果涉及到计算,建议先转换类型)第一次是预期结果//234console.log(this.$route.params.id+1)刷新页面后直接字符串拼接//2331参数丢失解决方法:routes:[{path:'/details/:id',//这里的配置要与您传递的参数名称name:'details',component:resolve=>require(['../components/details'],resolve)}]2.path和query组合传参this.$router.push({path:'/details',query:{id:666}})this.$route.query.id//666该方法的参数会跟在问号后面例如:/details?id=666,该方法在刷新页面时不会丢失参数最后:根据你的选择合适的参数传递方式项目官方文档vue-router