我有一个场景,我希望在我的组件中同时使用ngOnChanges
和ngDoCheck
,但我记得从一段时间以前在角度文档中只有其中一个应该是一次使用。
虽然我似乎无法再找到这些信息,但我认为它之前曾在this部分的某处说过。
使用这两种方法是否安全,或者我是否需要在ngOnChanges
中实现我自己的DoCheck
版本,以避免大做“不”?
答案 0 :(得分:4)
ngDoCheck的API文档说
除了默认算法之外,还会调用
ngDoCheck
来检查指令中的更改。
开发指南LifeCycle Hooks doc说
我们还看到调用
ngOnChanges
方法与错误的API documentation相矛盾。
但API文档现在是正确的。它是used to state,如果您实现了ngDoCheck()
,那么将不会调用默认算法 - 即,不会调用ngOnChanges()
。 (因此,开发指南现在不正确,说明API文档不正确)。
实现这两者完全没问题。