为什么在ngAfterViewInit中更改变量时会发生ExpressionChangedAfterItHasBeenCheckedError

时间:2017-11-09 19:37:43

标签: angular typescript

plunker example

中考虑此代码
@Component({
  //changeDetection: ChangeDetectionStrategy.OnPush,
  selector: 'my-app',
  template: `
    {{name}}
  `,
})
export class App {
  from: any;
  name: string;
  constructor() {
    this.name = '1'
  }

  ngAfterViewInit() {
    this.name = "2"
  }
}

上述问题导致ExpressionChangedAfterItHasBeenCheckedError错误。

我有几个问题

  1. 为什么会发生错误
  2. 这是否意味着ngAfterViewInit不在摘要周期内?
  3. 我们知道摘要周期中的最后一个钩子是什么吗?

0 个答案:

没有答案