ビューモデルにobservableArray
があります。 vmを作成した後、observableArray
のデータを完全に置き換えます。ここに私がそれをやっている方法があります:
_//Initial Setup
var vm = {};
vm.roles = ko.observableArray([]);
ko.applyBindings(vm);
//....replace array later on....
vm.roles(["1", "2"]);
_
これは正常に機能しているようですが、これが正しくなく、メモリリークにつながる可能性があるかどうか心配でした。これが既存のobservableArray
を更新するための好ましい方法である場合、そのすべてのデータを置き換えることを想定して誰でも準拠できますか?
私はobservableArray
にremoveAll()
メソッドがあることに気付き、これをきれいに実行するために呼び出す必要があるのか、それとも私がやっていることで問題ないのかと思いました。
使用している手法は、observableArray
のデータを完全に置き換えるための推奨アプローチです。 observableArray
は実際には通常のobservable
であり、基になる配列に作用して通知をトリガーする便利な配列操作のために追加の関数が追加されています。