在我的Vue SPA中,我有一个像这样的简单路由器:
{path: '/page/:userId', name: 'user', component: user},
这表示http://xxx.xxx/user/1之类的网址显示了具有用户1内容的组件用户。
在同一页面上,我有一些链接
<vue-link :to="{name:'user', params={userId:3}}">
路由器仅更新 URL,但更新内容页面(因为它假定页面与我所在的位置相同)
我的用户内容也使用数据和监视中的url参数加载数据
数据
userId:this。$ route.params.userId || 1,
观看
watch: {
userId: function () {
return this.$route.params.userId || 1;
},
如何在不使用router-view的情况下进行修复?
谢谢您的建议
答案 0 :(得分:1)
如果我正确地收到了您的问题,那是您无法跟踪路线更改。您需要注意route
的变化,只要您的路线在同一组件上发生变化,它就应该做些什么。
watch: {
$route() {
this.updatePage(this.$route.params.userId)
}
},
methods: {
updatePage(param) {
// call api / do something
}
}