我是Angular 4的新手。我有一个如下所示的数据绑定字段。但不知何故,有一个ExpressionChangedAfterItHasBeenCheckedError。数据绑定导致ExpressionChangedAfterItHasBeenCheckedError
<form>
<div>
<h2>Hello {{input.value}}</h2>
<input type="text" [value]="input.value" name="inputTest"/>
<input type="text" #input [value]="name"/>
</div>
<button type="submit">submit</button>
</form>
下面是一个简单的构造:
export class App {
name:string;
constructor() {
this.name = `Angular! v${VERSION.full}`
}
}
我读了很多有关错误的帖子,我还是不明白,为什么一个简单的数据绑定将导致错误。
我尝试了下面的代码,但不起作用。
ngAfterViewInit() {
console.log("ngAfterViewInit");
this.cd.detectChanges();
}
请帮忙!!
请参考plunker:https://plnkr.co/edit/16atvKgf2BA6z2OjqT6h?p=preview
这个帖子[所有你需要知道的关于'ExpressionChangedAfterItHasBeenCheckedError'错误](https://hackernoon.com/everything-you-need-to-know-about-the-expressionchangedafterithasbeencheckederror-错误 - e3fd9ce7dbb4)应该给你的见解。如果没有,创建一个重现问题并将其张贴在这里的重击器 –
@Maximus我添加了重击器。我认为代码非常简单,但会引发错误。 –
没有错误引发你引用 –