Angularjs Dojo:带数据绑定的循环
我只是从Dojo开始,我对所有模块的数量和质量印象深刻。然而,来自AngularJS的我发现双向数据绑定有点缺乏 是否真的没有办法订阅Dojo对象存储,在模板中有一个循环来迭代存储中的项目,并在添加/删除项目时自动更新视图?使用Angularjs Dojo:带数据绑定的循环,angularjs,dojo,Angularjs,Dojo,我只是从Dojo开始,我对所有模块的数量和质量印象深刻。然而,来自AngularJS的我发现双向数据绑定有点缺乏 是否真的没有办法订阅Dojo对象存储,在模板中有一个循环来迭代存储中的项目,并在添加/删除项目时自动更新视图?使用dojo/store/Observable来实现这个繁琐的逻辑: results.observe(function(item, removedIndex, insertedIndex){ // this will be called any time a item
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>
{{item.text}
因此,我必须在Dojo的广泛小部件和模块集合与AngularJS的具有双向数据绑定的直接模板之间进行选择吗?首先,祝贺来到Dojo方面。是的,AngularJS对于双向数据绑定非常方便,但您很快就会发现,随着应用程序变得越来越复杂,您将需要强大(且数量众多)的Dojo/Dijit/Dojox模块的帮助 您是对的,dojo/Observable当前通过dojo中的store提供绑定。它真的可以实现与AngularJS相同的功能。结帐进行演示
为了方便起见,我们制作了一个模块,以类似于Angular JS的格式进行绑定。它叫。它目前可以独立使用,不久将集成到Dojo的核心中。您还应该检查您使用Dojo的目的是什么?什么样的应用程序?我以前用过Dojo,然后是Dojo+Angular,然后去掉了Dojo,非常高兴:-)。如果可以的话,把Dojo扔掉。