[英]knockout observableArray performance
var myArray = ko.observableArray([]);
var valuesToInsert = [1,2,3];
myArray.push.apply(myArray, valuesToInsert);
that's it 而已
Since you're clearing out the entire observable array, one way you can accomplish this is: 由于您正在清除整个可观察数组,因此您可以通过以下方式实现:
var viewModel = {
name: "base",
addingValue:new ko.observable(),
someArr: new ko.observableArray(["123","432","sdafasd","xrere"]),
add: function()
{
this.someArr.push(this.addingValue());
},
updateSomeArr:function()
{
var temp = [];
for(var i=0;i<5;i++)
{
temp.push("555565");
}
this.someArr(temp);
}
}
There is already a selected answer, but I thought that the following would help. 已经有一个选定的答案,但我认为以下内容会有所帮助。 You can disable the observing behavior by executing your observable array to get the underlying array implementation:
您可以通过执行可观察数组来禁用观察行为以获取底层数组实现:
var underlyingArray = viewModel.someArr();
You can then add items to underlyingArray
without firing off someArr
events. 然后,您可以在不触发
someArr
事件的情况下将项添加到underlyingArray
。 Once you're done adding items, call: 完成添加项目后,请致电:
viewModel.someArr.valueHasMutated();
This will cause the event to fire notifying all observables dependent on viewModel.someArr(). 这将导致事件触发通知依赖于viewModel.someArr()的所有可观察对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.