這與ExpressionChangedAfterItHasBeenCheckedError再次有關。綁定模板角度前的延遲
在我的情況,我有一個參數'數據',我從ajax調用恢復。 此數據用於通過@input指令創建子項。我希望綁定只發生在定義數據時。但我不知道怎麼做,與角
export class UserComponent{
data: any
constructor(
private userService: UserService){
this.userService.getUser()
.subscribe(result => {
this.data = result;
}
}
);
}
,因爲它的工作方式,角度會顯示一個ExpressionChangedAfterItHasBeenCheckedError,我明白爲什麼,但怎麼問的角度,以等待回調做和數據在啓動綁定和東西之前,從未定義的開始,目標是讓一些孩子用來自數據庫的真實值進行初始化。
如果我在綁定「真實」數據之前應該等待週期的結束,那很好,但是如何在沒有這個錯誤的情況下做到這一點(並且請不要使用setTimeout
,因爲它看起來很多垃圾!)。
感謝
<!--the template if it matter --><somechildtag [data]="data" ></somechildtag>
對htt的每一個答案p://stackoverflow.com/questions/39787038/how-to-manage-angular2-expression-has-changed-after-it-was-checked-exception-w在我的場景中沒有幫助:s – ssbb
您可以重現在Plunker? –