gpt4 book ai didi

angularjs - AngularJS 中的 $$phase 是什么?

转载 作者:行者123 更新时间:2023-12-02 19:57:27 25 4
gpt4 key购买 nike

我发现这个代码片段是某人为引导模式编写的 Angular 指令的一部分。

//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();
});

我理解这部分是为了我们绑定(bind)到 hide.bs.modal 事件并在 UI 更改时更新模态的两种方式绑定(bind)的后半部分。

我只是想知道为什么这个人在调用 apply 之前检查 $$phase 的范围和 rootScope ?

我们不能直接调用 apply 吗?

这里的$$phase是什么?

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

编辑:

我找到了在哪里看到示例: Simple Angular Directive for Bootstrap Modal

最佳答案

$$phase 是当 Angular 处于 $digest 周期时设置的标志。

有时(在极少数情况下),您需要在执行 $apply 之前检查范围上的 $$phase。如果您在 $digest 期间尝试 $apply ,则会发生错误:

Error: $apply already in progress

关于angularjs - AngularJS 中的 $$phase 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20263118/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com