1
在我的應用程序中,我有一個由數組填充的表以及我在其上使用過濾器的表。在OnInit中,承諾被調用來獲取數據。現在問題是刷新後,_projects(和transform的輸入參數)的值是未定義的,表中沒有顯示任何內容。當我點擊下拉菜單時,會觸發轉換函數並填充表格。在承諾中定義_projects時是否有辦法觸發管道?我也試過用純淨/不純的菸斗。在頁面刷新後使用承諾數據觸發角度2管道
this._projectService.getProjectsPromise().done(
function (jsdo, success, request){
that._projects = request.response[HorizonData.dsProjects][HorizonData.dsProjects][HorizonData.ttProjects];
for (let project of that._projects) {
project.WhenWhoCreatedFull = project.WhenWhoCreated
var whenwho = project.WhenWhoCreated.split(" ");
project.WhenWhoCreated = whenwho[0] + " " + whenwho[2];
}
}
)
在我component.html
<tr title="{{ project.INFO }}" *ngFor="let project of _projects | projectFilter: filtered">
角管:
transform(value: IProject[], filterBy: IProject): IProject[] {
return filterBy && value ? value.filter((project: IProject) =>
(project.projectnr.toLowerCase().indexOf(filterBy.projectnr.toLowerCase()) !== -1)
&& (project.projectname.toLowerCase().indexOf(filterBy.projectname.toLowerCase()) !== -1)
&& (project.clientnr.toLowerCase().indexOf(filterBy.clientnr.toLowerCase()) !== -1)
&& (project.clientname.toLowerCase().indexOf(filterBy.clientname.toLowerCase()) !== -1)
&& (filterBy.statusdesc.indexOf(project.statusdesc) !== -1)) : value;
}
thx爲偉大的答案。我現在已經有了第一個選項,並使用detectChanges()實現了ChangeDetectionStrategy。爲了將來的使用,我將首先看看RxJS庫,但現在我已經運行了。 – NiAu