2
比方说,我有这样的事情在KnockoutjsKnockout JS嵌套数组。添加项目到子阵列
<pre data-bind="text: ko.toJSON($data, null, 2)">
{
"people":[
{
"name":"Thor",
"meta":[]
},
{
"name":"Hulk",
"meta":[]
}
]
}
</pre>
的Javascript会是这样的:
function SuperheroViewModel() {
var self = this;
self.people = ko.observableArray();
self.people.meta = ko.observableArray();
self.people.push(new Person({name: 'Thor'}));
//self.people.push(new Person({name: 'Hulk'}));
self.addHero= function() {
self.people.push(
new Person({
name: 'Wolverine'
})
);
//self.meta.push(new Meta({sex: 'male'});
}
}
ko.applyBindings(new SuperheroViewModel());
HTML
<button data-bind="click: addHero">Add Hero With Meta</button>
是否有可能在“Thor”或“Hulk”下添加一个“meta”?
当插入新父项时,我首先想添加“元”。第二步是为目标“英雄”添加元。
嗯,我有一个小提琴在这里:http://jsfiddle.net/wenbert/tRRxh/21/ - 我不能够添加元的父母。那将是我的第一步。第二步将为现有对象添加元。 – wenbert
嗨,我已更新我原来的帖子,以反映小提琴。我希望现在更有意义。 – wenbert
如果你要以这种方式创建你的Person,那么你需要构造函数将“元”数据传递给它的构造函数。由于它是一个元对象数组,因此您可能需要使用数组初始化它,或者创建一个空的observableArray并将其推入。示例:http://jsfiddle.net/rniemeyer/tRRxh/32/ –