如何更新VUE组件以更改当前页面中的URL参数

时间:2019-08-27 05:22:59

标签: vue.js router

在我的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的情况下进行修复?

谢谢您的建议

1 个答案:

答案 0 :(得分:1)

如果我正确地收到了您的问题,那是您无法跟踪路线更改。您需要注意route的变化,只要您的路线在同一组件上发生变化,它就应该做些什么。

watch: {
    $route() {
        this.updatePage(this.$route.params.userId)
    }
},
methods: {
   updatePage(param) {
     // call api / do something
   }
}