在我的视图模型,我有一个knockoutjs ObserableArray。 我初始化视图模型刚过,它成功地结合了数据。 那么,我需要做的是排序的集合。
$.each(vm.searchResults(), function (i, property) {
console.log(property.Name());
});
vm.searchResults().sort(function (a, b) {
return a.Name().toLowerCase() > b.Name().toLowerCase() ? 1 : -1;
});
$.each(vm.searchResults(), function (i, property) {
console.log(property.Name());
});
正如你所看到的,我输出的元件到控制台的名称,看看前后排序后的顺序。 排序工作得很好。 问题是与UI更新。 不知何故,UI不会被更新。
然后,尝试从下面的代码数组中删除一条记录,看看用户界面将到或没有响应。
vm.searchResults().shift();
该UI停留在相同,并没有再次更新。 什么会在这里是什么问题?
编辑:
下面是一个示例情况下,也: http://jsfiddle.net/tugberk/KLpwP/
这里同样的问题也是如此。
编辑:
我解决了这个问题,如图此示例中: http://jsfiddle.net/tugberk/KLpwP/16/但我仍然不知道为什么它的工作,因为我试过在第一。