这似乎是一个应该已经回答的问题,但我无法找到任何关于此的讨论。
我有一系列项目,其中一些可以选择:
function Item(name) {
this.name = name;
this.selected = ko.observable(false);
}
function ViewModel() {
var self = this;
this.items = ko.observableArray([]);
this.selected = ko.computed(function() {
return ko.utils.arrayFilter(self.items(), function (item) {
return item.selected();
});
}, this);
}
由于viewmodel.selected()
取决于,每当我向可观察viewmodel.items()
对象添加新对象时,即使未选择添加的项目,也会发生变化。如果没有实际选择新项目,如何防止更新?items
selected
this.selected()