2

假设我在 Knockoutjs 中有这样的东西

<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>

是否可以在“雷神”或“绿巨人”下添加“元”?

我首先想在插入新的父项时添加“元”。第二步是向目标“英雄”添加元数据。

4

1 回答 1

1

如果您addMeta在 a 的上下文中调用person,那么 KO 会将当前数据项作为第一个参数传递给您的函数。

因此,您将能够item.meta.push从您的处理程序中调用。

于 2012-11-06T04:40:49.817 回答