removeAll vs在knockoutjs中用[]清空一个数组

时间:2013-07-09 10:31:07

标签: knockout.js

每次从服务器获取数据时,我都想丢弃我的observablearray中的数据。

之间的功能有何不同
self.myArray([]);

VS

self.myArray.removeAll();

1 个答案:

答案 0 :(得分:56)

从最终结果的角度来看,两个调用之间没有区别,因此最终会得到不包含任何元素的myArray

然而,存在一个小差异(如果您不关心不同的返回值):

self.myArray([]);

用新创建的空数组替换基础数组实例

虽然

self.myArray.removeAll();

将从基础数组中删除所有项目,但将保留数组实例

因此,如果你有多个ko.observableArray使用相同的底层数组,你可以看到两个调用之间的差异:

演示JSFiddle.