解决多个路由绑定同一个组件 获取参数只获取一次的方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决多个路由绑定同一个组件 获取参数只获取一次的方法相关的知识,希望对你有一定的参考价值。
{
path: '/application',
title: '我的工作',
icon:'code-working',
name: 'application',
component: Main,
children: [
{
path: 'index/:id', title: '我的申请', name: 'myApplication', component: resolve => {
require(['@/views/application/index'], resolve);
}
},
{
path: 'index/:id', title: '我的待办', name: 'have not done', component: resolve => {
require(['@/views/application/index'], resolve);
}
},
{
path: 'index/:id', title: '我的已办', name: 'have been done', component: resolve => {
require(['@/views/application/index'], resolve);
}
}
]
},
这三个路由绑定的是同一个组件,在
created(){
console.log(this.$route.params.id)
}
里面这种动作只会执行一次,也就是只能拿到该组件创建时的路由id,
如果要获得不同的id必须使用官方推荐的方法
响应路由参数的变化
const User = {
template: '...',
watch: {
'$route' (to, from) {
// 对路由变化作出响应...
}
}
}
或者使用 2.2 中引入的 beforeRouteUpdate 守卫:
const User = {
template: '...',
beforeRouteUpdate (to, from, next) {
// react to route changes...
// don't forget to call next()
}
}
原文地址:https://segmentfault.com/a/1190000012755913
以上是关于解决多个路由绑定同一个组件 获取参数只获取一次的方法的主要内容,如果未能解决你的问题,请参考以下文章
element UI -- 表格内自定义表单校验Value 值只获取上一次的值 解决方案
解决HttpServletRequest的输入流只能读取一次的问题(转)