1
我已經有一個Ractive instance(或component - 它可能是),我想將它添加到另一個Ractive實例的列表中。事情是這樣的:如何將Ractive實例添加到列表中?在父Ractive實例中?
var ListItemOne = new Ractive({
data: { key: "hello" }
});
var ListItemTwo = new Ractive({
data: { key: "world" }
});
var ractive = new Ractive({
el: "#output",
template: "#template",
data: { greeting: 'hi', name: 'there',
listItems: [
ListItemOne,
ListItemTwo
]
}
});
模板:
<p>{{greeting}} {{name}}!</p>
<ul>
{{#listItems}}
<li>{{key}}</li>
{{/listItems}}
</ul>
,或者使用方法:
var ractive = new Ractive({
el: "#output",
template: "#template",
data: {
greeting: 'hi', name: 'there',
listItems: []
},
addListItem: function(listItem){
this.get('listItems').push(listItem);
}
});
ractive.addListItem(ListItemOne);
ractive.addListItem(ListItemTwo);
是它這種方式可以使用Ractive嗎?
請注意,我不希望這樣的:
var ractive = new Ractive({
el: "#output",
template: "#template",
data: { greeting: 'hi', name: 'there',
listItems: [
{ key: "hello" },
{ key: "world" }
]
}
});
正如我已經有Ractive實例/組件,和我使用的MVP定義明確定義應用程序和視圖之間的接口。
這給了我一個想法。有沒有辦法讓他們假設他們有一個模板?我試過{{this.render()}},但它返回一個承諾。 – pembeci
謝謝你。我想知道是否只保留一個指向Ractive狀態的「子實例」就足夠了。然後我不需要像這樣污染模板。 – sennett
是否有你預先實例化組件的原因?通常情況下,你使用父模板中的組件標籤,並且ractive爲你實例化它們。 – martypdx