【发布时间】:2011-12-23 08:02:20
【问题描述】:
我有一个对象列表,每个对象都有几个字段,如下所示:
function Person(id,name,age) {
this.id = id;
this.name = name;
this.age = age;
}
var listOfPeople = [
new Person(1, 'Fred', 25),
new Person(2, 'Joe', 60),
new Person(3, 'Sally', 43)
];
var viewModel = {
this.people = ko.observableArray(listOfPeople);
this.selectedPeople = ko.observableArray([]);
}
我想建立一个复选框列表,每个人一个,大致如下:
<ul data-bind="foreach: people">
<li>
<input type="checkbox" data-bind="value: id, checked: ?">
<span data-bind="name"></span>
</li>
</ul>
我的困惑是,在复选框data-bind 属性中,我想引用被选中的对象(即person 或人的id),以及所有列表选定的人。我如何在foreach 绑定的范围内引用它?
我想一个推论是:我如何引用被绑定的对象?这里“this”似乎被绑定到窗口,而不是对象。
“checked binding on the knockoutjs site”的示例处理原语并使用命名模板。我对如何使用对象和匿名模板执行此操作感到困惑。
【问题讨论】:
标签: knockout.js