您可以在 Angular 2 组件中同时使用 OnChanges 和 DoCheck 吗?

Chr*_*odz 2 angular2-changedetection angular

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

虽然我似乎再也找不到这些信息,但我认为它之前在节的某个地方说过。

使用这两者是否安全,还是我需要实现我自己的ngOnChangesin版本DoCheck以避免大“不”?

Mar*_*cok 6

ngDoCheck的 API 文档说

ngDoCheck 除了默认算法之外,还被调用以检查指令中的更改。

开发指南LifeCycle Hooks文档说

我们还看到该ngOnChanges方法的调用与不正确的API 文档相矛盾。

但是 API 文档现在是正确的。它曾经声明,如果您实现了,ngDoCheck()则不会调用默认算法——即,ngOnChanges()不会被调用。(因此,开发指南现在不正确地说明 API 文档不正确)。

两者都实现是完全没问题的。