replaceKnockout.js中的所有元素observableArray
我在我的视图模型中有一个observableArray
。 在创buildVM后,我希望完全replaceobservableArray
的数据。 以下是我如何做到这一点:
//Initial Setup var vm = {}; vm.roles = ko.observableArray([]); ko.applyBindings(vm); //....replace array later on.... vm.roles(["1", "2"]);
这似乎工作正常,但我担心,如果这是不正确的,可能会导致内存泄漏。 任何人都可以符合,如果这是更新现有的observableArray
首选的方式假设你想要更换所有的数据?
我注意到observableArray
有一个removeAll()
方法,并想知道是否需要调用干净地做这个,或者如果我很好,我在做什么?
您正在使用的技术是完全replaceobservableArray
的数据的推荐方法。 一个observableArray
实际上只是一个普通的observable
,为有用的数组操作添加了额外的函数,这些操作作用于底层数组并触发通知。
我发现推荐的方法在IE9或更低版本中不起作用。 相反,我重新创build了这个对象,
vm.roles = ko.observableArray(["1","2"])