小编典典

AngularJS中的$$ phase是什么?

angularjs

我发现此代码段是有人为引导程序模式编写的角度指令的一部分。

//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更改时更新模式。

我只想知道为什么在调用apply之前检查$$ phase的scope和rootScope的人?

我们不能直接打电话吗?

这里的$$ phase是什么?

我尝试了很多搜索,找不到任何好的解释。


阅读 294

收藏
2020-07-04

共1个答案

小编典典

$$phase是角度处于$digest周期中时设置的标志。

有时(在极少数情况下),您想要$$phase在执行操作之前先检查范围$apply。如果您尝试在$apply期间执行错误$digest

错误:$ apply已经在进行中

2020-07-04