Vue路由器:通过路径以编程方式重定向时,可以传递参数吗?

时间:2019-04-22 20:28:19

标签: vue.js vue-router

基本上,我想重定向到动态URL,例如:/resource/:id,但我也想同时传递一些参数。我不想走查询字符串路线。

所以,像这样:

this.$router.push({path: 'resource/' + id, params: {
      test: "HELLO"
   }
});

当我这样拥有该属性时,它就会通过(但这不是正确的路线)

this.$router.push({name: 'resource', params: {
      test: "HELLO"
   }
});

是否可以做我想做的事情或需要开始研究VueEx的事情?

2 个答案:

答案 0 :(得分:2)

您可以这样做:

您的路由器:

{
    path: '/resource/:id',
    name: 'route-name',
    component: Component,
    props: true,
},

在组件中,您可以将所有参数作为道具:

props: ['id', 'name', '...'],

如果要在路由器链接中调用路由,可以这样:

<router-link tag="a" :to="{name: 'route-name', params: {id: 1, name: 'John', ...}}">

希望对您有帮助。

答案 1 :(得分:0)

我走了VueX路线并开设了一家商店。看起来好像可以按照我最初的想法做。