需要把某种模式匹配到的所有路由,全部映射到同一个组件 例如: 我们有一个user组件,对于所有id不同的用户,都要使用这个组件来渲染,那么我们可以在vue-router的路由路径中使用动态路径参数来达到这个效果。
当使用动态路径参数的时候,从/user/1到user/2的时候,组件user实例就会被复用,比起销毁再重建,复用更加高效。但是组件也会因此不再重新创建,这就导致一个问题,声明周期钩子函数就不会被调用了,此时需要用watch来监测$route对象的变化
let user = { // 接受参数 template:` <div>{{$route.params.id}}</div> `, watch: { $route(to,from) { console.log('to',to) console.log('from',from) } } }