1
我有一個接收項目列表的組件。這些項目中的每一個都將是主要內容中的一個子組件。每個子組件都有一個插槽,我需要分發內容。如何分發兒童列表中插槽內的組件
如何將每個項目的內容(名稱)分配到正確的插槽?
根應用:
<div id="app">
<test-list :items="items"></test-list>
</div>
var app = new Vue({
el: "#app",
data: {
items: [
{id: 1, name: "item 1"},
{id: 2, name: "item 2"},
{id: 3, name: "item 3"},
{id: 4, name: "item 4"},
{id: 5, name: "item 5"},
]
}
});
主要成份:
Vue.component('test-list', {
template: '#test-list',
props: {
items: []
},
});
<script id='test-list' type='x-template'>
<ul class="list-group">
<test-item v-for="item in items" :id="item.id" :name="item.name"></test-item>
</ul>
</script>
子組件:
Vue.component('test-item', {
template: '#test-item',
props: {
id: 0,
name: ""
}
});
<script id='test-item' type='x-template'>
<li class="list-group-item">
<slot>default text {{name}}</slot>
</li>
</script>
,我能夠做的最好的是在所有發佈相同內容物品:JSFiddle here
有什麼建議嗎?謝謝!
感謝您的回答Yerko,但你的例子不起作用。它應該顯示標記,而不是默認文本。我還需要從根應用程序分發內容,而不是從主要組件的v-for分發內容。 – Gus