【发布时间】:2018-03-24 21:28:47
【问题描述】:
考虑一个计算属性:
computed: {
menuItems (){
let menuItems = [
{icon:'dashboard', title:'Home', link:'/'},
{icon:'fa-code', title:'Code Portfolio', link:'/code'},
{icon:'fa-rss', title:'Blog', link:'/'},
{icon:'fa-info-circle', title:'About', link:'/'},
{icon:'fa-envelope', title:'Contact', link:'/'},
]
return menuItems
}}
使用vue-router,如何将这个数组传递给子组件?
我尝试在组件中声明 prop 并将其绑定到 router-link:
组件:
props: ['menuItems']
家长:
<router-view :menuItems="menuItems"></router-view>
这行不通。我如何正确传递道具,或者有更好的方法来完全做到这一点。谢谢!
【问题讨论】:
-
可能是
:menu-items="menuItems",具体取决于您的模板是如何定义的。如果它在 DOM 中,则需要使用 kebab-cases。否则就是别的了。 -
澄清一下,我使用的是计算属性而不是数据属性,因为它稍后会与授权状态交互。
-
@Bert,好建议。我错过了。不过还是不行。
-
有趣。在 2.7 之前,这是可行的。从 2.8 开始,它不是。
-
他们昨天把它弄坏了,呵呵。我猜这假设您使用的是 2.8 或 3.0。如果是,请尝试恢复到 2.7。 github.com/vuejs/vue-router/issues/1800
标签: vue.js vuejs2 vue-router