gpt4 book ai didi

javascript - $watch 回调在表达式求值之前执行,不再执行

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

我正在编写一个 Controller ,它对给定 Controller 属性更改的更新使用react。我正在为其编写测试,但我意识到 $watch 回调是在更新模型的代码之前被调用的。

此外,在过早的 $watch 回调调用和更新模型的代码之后,$watch 回调不会再次被调用。

在我看来,$watch 回调在 Controller 实例化期间被调用,并且表达式观察器未配置,等等。

大家觉得怎么样?

最佳答案

好吧,scope.$watch 应该做到这一点,立即启动。这就是最初的更新。它会进行初始触发,然后任何后续触发只会因为真正的变化而发生。如果 newValue === oldValue,您可以检测初始运行,其中这些是 watch 回调的第一个和第二个参数。

至于为什么它不再被调用,您是否在正常的 Angular 上下文之外更改了作用域属性?如果是这样,您将需要一个 scope.$apply

关于javascript - $watch 回调在表达式求值之前执行,不再执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13922495/

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