2017-07-17 64 views
2

路过的道具我有了一个名为“标题” e.g道具一个Vue的组件:与程序导航Vue.js

<script> 
export default { 
    props: ['title'], 
    data() { 
    return { 
    } 
    } 
} 
</script> 

我浏览到该部件有一定动作之后编程完成。 有没有办法以编程方式路由用户,同时也设置道具值?我知道你可以创建一个这样的链接:

<router-link to="/foo" title="example title">link</router-link> 

但是,有没有办法做类似以下的事情?

this.$router.push({ path: '/foo', title: 'test title' }) 

编辑:

至于建议,我改变了我的路线如下:

{ 
     path: '/i/:imageID', 
     component: Image, 
     props: true 
    } 

和导航到以下几点:

this.$router.push({ path: '/i/15', params: {title: 'test title' }}) 

然而,我的形象组件(模板 - 见下文)仍然不显示任何标题。

<h1>{{ title}}</h1> 

有什么可能导致问题?

回答

5

使用参数。

this.$router.push({ name: 'foo', params: {title: 'test title' }}) 

并设置接受params作为道具的路线。

{path: "/foo", name:"foo", component: FooComponent, props: true} 

props: truedocumented here

+0

我已经完成了你所建议的任务但它似乎仍然没有工作 - 你能看看我编辑的问题吗?谢谢 –

+0

@AshleyB你正在使用哪个版本的路由器? – Bert

+0

“vue-router”:“^ 2.6.0”, –