什么是AngularJS的$$阶段?

我发现这个代码片段是角度指令的一部分有人为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周期。

有时(在极少数情况下),在进行$ apply之前,要检查$$阶段的范围。如果您在$ digest期间尝试$ apply,则会出现错误:

Error: $apply already in progress

http://stackoverflow.com/questions/20263118/what-is-phase-in-angularjs

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:什么是AngularJS的$$阶段?