如果调用$ doChanges,dothe $ doCheck怎么会有任何影响?

时间:2016-07-21 13:07:41

标签: javascript angularjs angularjs-directive angular-controller

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

$ doCheck() - 在摘要周期的每个回合调用。提供检测和处理更改的机会。必须从此挂钩调用您希望采取的任何响应您检测到的更改的操作;实现这一点对于何时调用$ onChanges没有影响。例如,如果您希望执行深度相等检查,或检查Date对象,Angular的更改检测器无法检测到更改,从而不会触发$ onChanges,则此挂钩可能很有用。这个钩子没有参数调用;如果检测到更改,则必须存储先前的值以与当前值进行比较。

我已经在网上进行过探索,但找不到任何与调用$ onChanges会如何调用$ doCheck无效相关的信息。有人请提供更多信息。

1 个答案:

答案 0 :(得分:1)

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