Ste*_*eve 5 angularjs angularjs-directive
我有一个容器和子指令,它们都会影响通过服务引用的数据.一般的想法是,我希望能够点击子指令,并根据以下规则"选择"它们.并且能够单击容器指令以清除选择.
基本规则是:
以上所有规则都非常简单易行.我遇到的主要麻烦是最后一条规则.单击容器实际上会将所选值设置为false,但是在下一个用户操作之前UI不会更新.让容器的click事件在$ apply中包装对服务的调用,"修复它".
.directive('myContainer', function (dataService) {
return {
restrict: 'A',
scope:{data:"="},
link:function(scope, element, attrs){
element.bind('click', function() {
scope.$apply(function() {
dataService.clearSelectedChildren();
});
});
}
};
})
Run Code Online (Sandbox Code Playgroud)
但是,我似乎已经准备好$ apply通常用于外部更新(在角度世界之外)到数据(即对远程服务器的异步调用)?那么,我是否滥用申请?如果是这样,我怎么能够实现我的目标呢?
这是一个有效的JSFiddle供参考.
| 归档时间: |
|
| 查看次数: |
232 次 |
| 最近记录: |