永远onDestroy() {cdr.detach();}
是否有意义?
我们开始对使用ChangeDetectorRef的每个组件执行此操作,因为在过去的某个时刻发生了一些错误,它似乎是在onDestroy之前触发的detectChanges(),当组件消失时没有被取消(可能在一个setTimeout)。
但是由于分离ChangeDetectorRef是初始化的常见做法,然后是cdr.markForCheck();
或cdr.detectChanges()
的手动更改检测,我认为分离不会停止detectChanges或markForCheck,这个bug来自其他地方。
因此,在onDestroy中分离cdr是有意义的唯一用例是VIEW而不是CDR本身可能触发重新渲染。并且由于在调用onDestroy时视图已经消失,因此完全没有意义。
我是对还是错?