私は Dojo を使い始めたばかりで、すべてのモジュールの量と質に感心しています。しかし、AngularJS から来た私は、 Dojo の MVC の双方向データ・バインディングが少し欠けていることに気付きました。
Dojo Object Store をサブスクライブし、ストア内のアイテムを反復処理するためのテンプレートにループを持ち、アイテムが追加/削除されたときにビューを自動的に更新する方法は本当にありませんか? サンプル チュートリアルdojo/store/Observable
では、この面倒なロジックを実装するために使用します。
results.observe(function(item, removedIndex, insertedIndex){
// this will be called any time a item is added, removed, and updated
if(removedIndex > -1){
removeRow(removedIndex);
}
if(insertedIndex > -1){
insertRow(item, insertedIndex);
}
}, true);
function insertRow(item, i){ ... }
function removeRow(i){ ... }
AngularJS では、次のようにします。
<li ng-repeat="item in results">
<span>{{item.text}}</span>
</li>
では、Dojo の豊富なウィジェットとモジュールのコレクションと、AngularJS の双方向データ バインディングを備えた単純なテンプレートのどちらかを選択する必要があるのでしょうか?