【问题标题】:How update a VUE component changing URL param in current page如何更新当前页面中的 VUE 组件更改 URL 参数
【发布时间】:2019-12-31 05:56:14
【问题描述】:

在我的 vue SPA 中,我有一个像这样的简单路由器:

 {path: '/page/:userId', name: 'user', component: user},

这意味着像 http://xxx.xxx/user/1 这样的 url 显示了具有用户 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;
        },

如何在不使用路由器视图的情况下修复它?

感谢您的建议

【问题讨论】:

  • 是的,我们在谈论路由器,但这是不同的情况,恕我直言。
  • 解释一下如何?

标签: vue.js router


【解决方案1】:

如果我正确地解决了您的问题,即您无法跟踪您的路线更改。你需要观察route 的变化,每当你的路由在同一个组件上发生变化时,它应该做一些事情。

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

【讨论】:

  • 是的!你说对了!我爱 vue 和你!我将它用于父组件,它就像一个魅力!
猜你喜欢
  • 2020-03-19
  • 2013-04-10
  • 2020-02-08
  • 2019-06-15
  • 1970-01-01
  • 1970-01-01
  • 2016-04-23
  • 2021-01-16
  • 2018-08-24
相关资源
最近更新 更多