我最近正在学习Vue,并且已阅读有关Vue components的文档。但是,我仍然不明白如何将数据对象传递给prop并将其呈现在组件模板中。
这是我的jsfiddle link
或在下面查看我的代码。
Vue.component('greeting', {
template: `<h1>{{index}}</h1>`,
props: ['persons']
});
var vm = new Vue({
el: '#app',
data: {
persons: {
'Mike': 'Software Developer',
'Nikita': 'Administrator Assistant'
}
}
});
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
<div id="app">
<greeting v-bind:persons="persons" v-for="(value,key,index) in persons"></greeting>
</div>
答案 0 :(得分:3)
几件事:
index
不可用的原因:person="value"
,因为这是用persons
的当前迭代项填充的变量person
对象的键绑定到它参见下文:
Vue.component('greeting', {
template: "<h1>{{person}} is a {{role}}</h1>",
props: ['person', 'role']
});
var vm = new Vue({
el: '#app',
data: {
persons: {
'Mike': 'Software Developer',
'Nikita': 'Administrator Assistant'
}
}
});
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.min.js"></script>
<div id="app">
<greeting :person="value" :role="key" v-for="(value, key, index) in persons" :key="index"></greeting>
</div>