你能在Angular 2组件中同时使用OnChanges和DoCheck吗?

时间:2016-08-30 17:28:55

标签: angular angular2-changedetection

我有一个场景,我希望在我的组件中同时使用ngOnChangesngDoCheck,但我记得从一段时间以前在角度文档中只有其中一个应该是一次使用。

虽然我似乎无法再找到这些信息,但我认为它之前曾在this部分的某处说过。

使用这两种方法是否安全,或者我是否需要在ngOnChanges中实现我自己的DoCheck版本,以避免大做“不”?

1 个答案:

答案 0 :(得分:4)

ngDoCheck的API文档说

  除了默认算法之外,还会调用

ngDoCheck来检查指令中的更改。

开发指南LifeCycle Hooks doc说

  

我们还看到调用ngOnChanges方法与错误的API documentation相矛盾。

但API文档现在是正确的。它是used to state,如果您实现了ngDoCheck(),那么将不会调用默认算法 - 即,不会调用ngOnChanges()。 (因此,开发指南现在不正确,说明API文档不正确)。

实现这两者完全没问题。