vue路由传参并跳转页面
在vue项目中参数的传递可以使用本地缓存或者Vuex,那么vue能不能像小程序一样路由传参呢,显然是可以的而且非常简单
方式一:query传参
//传参 go(){ that.$router.push({ path:'/order',//跳转路径 name: 'Order',//跳转路径的name值,不写跳转后页面取不到参数 // 参数 query: { name: 'name', dataObj: {} } }) }, //跳转后页面取参 mounted(){ // 路由参数 let mm = this.$route.query//query包含传递的所有参数 },
But 浏览器地址栏中显示如下,所以如果参数保密,该方式慎用啦
方式二:parms传参
//传参 go(){ this.$router.push({ path:'/order',//跳转路径 name: 'Order',//跳转路径的name值,不写跳转后页面取不到参数 // 参数 params: { name: 'name', dataObj: {} } }) }, //跳转后页面取参 mounted(){ // 路由参数 let mm = this.$route.params//parms包含传递的所有参数 },
是的就是这么相似,但是传递的参数就不会显示在地址栏了,但是有没有注意到跳转路径的name值必传是不是也不够优雅,不传行不行?见方式三
方式三:不传name
不传name需要对路由配置文件的路径做些改动
//传参 go(){ let num = '33' this.$router.push({ path:'/order' + '/' + num, }) }, //路由配置文件 { path: '/order/:id',//路由携带的参数 // path: '/order', name: 'Order', component: Order }, //跳转后页面取参 mounted(){ // 路由参数 let mm = this.$route.params//parms包含传递的所有参数 },
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步