如果同时调用$doChanges,$doCheck如何不会产生任何影响

How does $doCheck not have any impact if $doChanges is also called?

本文关键字:何不会 影响 任何 调用 doChanges 如果 doCheck      更新时间:2023-09-26

AngularJS官方文档提供了以下这方面的信息。

$doCheck()-在摘要循环的每一轮调用。提供检测更改并对其采取行动的机会。您希望对检测到的更改做出响应的任何操作都必须从此挂钩调用;实现这一点对何时调用CCD_ 2没有影响。例如,如果您希望执行深度相等检查,或检查Date对象,Angular的更改检测器不会检测到对其的更改,因此不会触发$onChanges,则此钩子可能很有用。这个钩子是在没有参数的情况下调用的;如果检测到更改,则必须存储以前的值,以便与当前值进行比较。

我在网上搜索过,但找不到任何关于调用$onChanges将如何使对$doCheck的调用无效的信息。有人请提供更多信息。

$onChanges$doCheck挂钩可以轻松地并排使用。$doCheck钩子根本不影响$onChanges钩子。当然,在$doCheck钩子中检查的字段不再需要在$onChanges钩子中处理。在Angular 2中,甚至建议不要将这两个钩子一起使用。