Javascript 可观测阵列不';t在旋钮中复位

Javascript 可观测阵列不';t在旋钮中复位,javascript,knockout.js,computed-observable,Javascript,Knockout.js,Computed Observable,我有一个可观察的数组,如: self.myArray = ko.observableArray([1234]); 我试图通过两种不同的方式清除可观察阵列: self.myArray([]) // Step X self.myArray.removeAll() // Step X 但是值没有被清空,然后我必须执行: self.myArray = ko.observableArray([]); // Step Y 步骤X与步骤Y相同吗?在removeAll()之后,您确定数组不是空的吗 测试将

我有一个可观察的数组,如:

self.myArray = ko.observableArray([1234]);
我试图通过两种不同的方式清除可观察阵列:

self.myArray([]) // Step X
self.myArray.removeAll() // Step X
但是值没有被清空,然后我必须执行:

self.myArray = ko.observableArray([]); // Step Y

步骤X与步骤Y相同吗?

removeAll()之后,您确定数组不是空的吗

测试将是self.myArray()。长度===0

const test=ko.observearray([1,2,3]);
console.log(test().length);
test.removeAll();
console.log(test().length)

步骤X与步骤Y不同。在步骤X中,您使用的是之前创建的同一个ObservalArray,而在步骤Y中,您只是将一个新的ObservalArray分配给self.myArray。这意味着,如果您有到myArray的绑定,并且稍后执行步骤Y,但您的绑定仍将绑定到上一个observableArray。所以你不应该使用步骤Y,步骤X是正确的。可能它没有被清空的原因是您多次调用self.myArray=ko.observableArray([1234])?