我发现这个代码片段是角度指令的一部分有人为bootstrap modal写的。
//Update the visible value when the dialog is closed //through UI actions (Ok,cancel,etc.) element.bind("hide.bs.modal",function () { scope.modalVisible = false; if (!scope.$$phase && !scope.$root.$$phase) scope.$apply(); });
我理解这部分是后两半绑定我们绑定到hide.bs.modal事件和更新模式时,UI更改。
我只是想知道为什么是检查$$阶段范围和rootScope之前调用apply?
我们不能直接打电话申请吗?
这里的$$阶段是什么?
我试了很多,找不到任何好的解释。
编辑:
我发现我在哪里看到的例子:
Simple Angular Directive for Bootstrap Modal
$$ phase是一个标志集,而angular是在一个$ digest周期。
原文链接:https://www.f2er.com/angularjs/145675.html有时(在极少数情况下),在进行$ apply之前,要检查$$阶段的范围。如果您在$ digest期间尝试$ apply,则会出现错误:
Error: $apply already in progress