我有一个监听$ scope.$ on的控制器,它会在触发时显示一个弹出窗口.它可以100%的时间从其他几个控制器$ rootScope.$ broadcast方法开始工作.但其中一个将无法工作.
控制器获取事件,并设置所需的$ scope变量,但页面不会更新,即使我触发$ scope.$ eval().然后,如果我转到另一条路线,$ scope将最终渲染,并且模式将弹出该路线的顶部.我不知道我是否在angularjs中发现了一个bug,或者我遗漏了一些基本的东西.
对不起,我不能包含代码,这是一个工作项目.
Ren*_*des 33
您可能正在更改角度$摘要之外的$ scope.尝试更换code making changes用$scope.$apply(function(){ code making changes }).有了这个,脏检查应该运行并更新所有.
eme*_*ino 13
我建议使用:
$scope.$evalAsync(function() { // scope changes here });
通过这种方式,您不会遇到诸如在正在进行摘要时尝试调用apply的问题.