我在vue-router中使用named views。在两个组件内部,我需要获得道具。
以下代码显示了路线的定义。第一个条目不起作用。在组件内部,道具将保持未定义。所以Breadcrumb和Collection组件没有属性
第二个例子有效,因为只有一个组件:
const routes = [
{
path: '/:cid',
name: 'collection',
props: true,
components: {
default: Collection,
breadcrumb: Breadcrumb
}
},
{
path: '/:cid/:iid',
name: 'item',
props: true,
component: Item
},
]
我认为只有一个组件时,props属性才有效。
我没有在文档中找到解决方案,所以欢迎任何帮助。
答案 0 :(得分:10)
是的,您可以使用多个组件并将道具传递给每个组件:
const router = new VueRouter({
mode: 'history',
routes: [
{
path: '/',
components: {
default: Home,
foo: Foo
},
props: {
default: { name: 'Home' },
foo: { name: 'Foo' }
}
}
]
})
答案 1 :(得分:0)
在组件中,您必须显式声明94.53
,因为在路径对象中将props设置为true,路径的参数将被绑定到道具。
127.68
检查有关将道具传递给路径组件的文档。
答案 2 :(得分:0)
如果想要所有道具:
routes: [
{
path: '/',
components: {
default: Home,
foo: Foo
},
props: {
default: true,
foo: true
}
}
]