我嘗試將jQuery Bootgrid與Angular 2一起使用。 問題是Bootgrid檢查現有表,但是使用angular2我的數據基於asyncrone源。Angular2在渲染後執行方法(Bootgrid)
我以後嘗試初始化網格,當數據在控制器中設置沒有運氣。我認爲網格必須在DOM被angular2更新之後初始化。是否有這樣的「組件後更新」 - 事件?還是其他想法?
這裏我的代碼:
records: Record[] = []
grid: any
ngOnInit() {
this._recordService.getAllRecords().subscribe(
data=> { this.records = data },
error=> { alert(error) }
)
.add(() => setTimeout(() => this.initGrid(), 50));
}
initGrid() {
this.grid = jQuery("#grid-basic");
var ref = this;
this.grid.bootgrid({
...config Stuff...
})
}
,將工作只有醜 「的setTimeout」 的原因。如果沒有超時,表格將顯示「無數據」(我的bootgrid信息標籤的記錄數正確更新)
感謝您的任何想法!
這是行不通的。請記住,表格的數據是加載的異步。當事件被觸發時,該表爲空>然後bootgrid將初始化空表>然後服務中的數據準備就緒......對於bootgrid來說太遲了 –