我有一个getTasks
返回任务列表的函数:
$.getJSON("http://todo/actions/", function(data) {
self.tasks([]); // empty before refresh
ko.utils.arrayMap(data, function(task) {
return self.tasks.unshift(new Task.Model(task));
});
});
我还有一个连接到此功能的刷新按钮,用于刷新列表。但在我可以运行刷新按钮之前,我必须清空可观察数组,所以不会有任何重复。
这一切都很好,但在我看来,foreach
绑定包括回调afterAdd
和beforeRemove
回调,这在视觉上搞砸了。每当我点击刷新按钮时,整个列表都会淡出,而新列表会淡入。
有没有办法刷新该数组以仅向其中添加新值并保留现有值?