【发布时间】:2012-12-01 18:49:18
【问题描述】:
我面临一个问题,即添加新项目时计算的可观察数组未更新。
self.FilteredCityList = ko.computed(function() {
var filteredCollection = ko.utils.arrayFilter(self.CityListCollection(), function(r) {
var matchingItem = ko.utils.arrayFilter(self.LocationCollection(), function(r1) {
return r1.LocationCode() == r.LocationCode();
});
if (matchingItem.length > 0) {
return false;
}
return true;
});
return filteredCollection;
}, this);
当我在self.LocationCollection() 中添加一个项目时,计算的数组没有更新。
【问题讨论】:
-
您的代码似乎工作得很好:jsfiddle.net/nemesv/egFSh 在向
LocationCollection添加项目时会更新FilteredCityList。您能否整理一个示例 jsfiddle 来演示您的问题? -
谢谢老兄。它现在工作。我使用 self.LocationCollection().push(item) 添加了一个项目。现在看到你的之后,我改成了 self.LocationCollection.push(item)。你能告诉我我有什么问题吗?
标签: knockout.js