angular中ExpressionChangedAfterItHasBeenCheckedError错误

最近在使用ngAfterViewInit的时候发生了一些错误。又发现自己对变更检测的流程其实不是很理解,所以来梳理一下过程,并来讲讲这个错误为什么会发生。