ChangeDetectorRef.markForCheck()
和之间有什么区别ChangeDetectorRef.detectChanges()
?
我只在SO上找到了关于NgZone.run()
这两个函数之间的差异的信息,但不是这两个函数之间的区别.
对于仅提及文档的答案,请说明一些实际场景,以选择其中一个.
假设我有一个像这样的组件结构:
AppComponent
HeaderComponent
ContentComponent
TodosComponent
TodoComponent
Run Code Online (Sandbox Code Playgroud)
如果我设置HeaderComponent的changeDetection
到ChangeDetectionStrategy.OnPush
和改变TodoComponent,仍然HeaderComponent的东西ngDoCheck()
,ngAfterViewChecked()
和ngAfterContentChecked()
被触发.
我错过了什么?无论如何都会触发ngDoCheck吗?如果是,如何确定ChangeDetection是否检查了组件?