当前位置: 首页 > 面试题库 >

AngularJS中的$$ phase是什么?

刘向阳
2023-03-14
问题内容

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

//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是什么?

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


问题答案:

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

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

错误:$ apply已经在进行中



 类似资料:
  • 问题内容: 我是AngularJS的新手,我无法理解AngularJS的功能。有人可以用最简单的方式来说明AngularJS中的功能以及我们可以使用它做什么。请以一种您完全不了解编程知识的方式向您解释。有人还能以最简单的方式逐行解释下面的代码吗? 问题答案: 每个控制器都有一个关联的对象。 控制器(构造函数)功能负责设置模型属性和功能。这只能通过$ scope来完成。无论您在View(HTML文件

  • 问题内容: 我正在阅读“过滤器” 部分(https://docs.angularjs.org/guide/filter#stateful- filters )上的AngularJS开发人员指南,并遇到了“状态过滤器”。 该描述如下: 强烈建议不要编写有状态的过滤器,因为Angular无法优化它们的执行,这通常会导致性能问题。只需将隐藏状态公开为模型并将其转换为过滤器的参数,即可将许多有状态过滤器转

  • 问题内容: 我看过这样的语法 那双冒号是做什么用的?如果将其删除会怎样? 问题答案: 用于一次性绑定。一旦稳定,即在第一个摘要之后,表达式将停止重新计算。 因此,对所做的任何更新将不可见。

  • Nativescript moon phase plugin This plugin is a complementary to my previous one that converts from gregorian to hijri dates https://github.com/rkhayyat/nativescript-hijri Nativescript-moon-phase Moon

  • 问题内容: 我一直在做很多工作,总的来说,我发现它是一个有趣而强大的框架。 我知道关于服务,工厂,提供者,价值的讨论很多,但是我对“什么是”仍然很困惑。 在其他StackOverflow讨论中,工厂定义如下: 工厂名称 语法:结果:在将factoryName声明为可注入的参数时,将为您提供通过调用传递给module.factory的函数引用而返回的值。 我发现很难理解这种解释,也并没有增加我对工厂

  • 问题内容: 我花了很多时间阅读AngularJS文档和一些教程,对于文档的难懂性,我感到很惊讶。 我有一个简单的,可以回答的问题,对于其他希望使用AngularJS的人也可能有用: 什么是AngularJS指令? 某个地方应该有一个简单,精确的指令定义,但是AngularJS网站提供了这些令人惊讶的无用定义: 在主页上: 指令是AngularJS中可用的独特而强大的功能。指令可让您发明特定于您的应