2017-04-13 152 views
0

使用AngularJS導致成可變我能做到這一點:寫ngFor採用了棱角分明2

item in (filteredList.sup = (nozzles | rangeFilter: { flow: calc.q.tempFlow, pressure: calc.pressure } | orderBy: 'pressao')) 

我做了一個NG重複和它們的結果,我已設置了filteredList.sup變量。

我試圖用角2做相同的,但也不是那麼容易,因爲AngularJS (我對角2新)

我想: ng2: How to create variable in ngFor loop

https://github.com/angular/angular/issues/2451

沒有成功! :/

PS *如果我可以在「控制器」/component.ts中使用我的管道,它也可以提供幫助。

實際代碼:

listService.ended 
    | filterBy: { empresaId: selectedCompany } 
    | filterOperador: filtroOperador 
    | dateRange: dateRange.min : dateRange.max 

filterBy = https://www.npmjs.com/package/ng2-filter-pipe

filterOperador & DATERANGE =自定義管道

回答

2

在Angular2,它不能實施,但作爲Angular4提到here,你可以像我們在angularjs中那樣再次執行此操作。

*ngFor="let user of userObservable | async as results; 

如果我可以使用 「控制」 裏面我管/component.ts它也可以幫助你。

是的,如果你不介意的模板和組件使用管道兩次,你可以在組件調用你的水管是這樣的:

// inject the Pipe 
constructor(pipe: XXXPipe){} 

getPipeResult() { 
    // call Pipe's transform 
    let pipeResult = this.pipe.transform(input, arg1, arg2, ...) 
} 
+0

太好了!邏輯文件中的管道工作正常,我在app.module>提供程序中添加了構造函數 –

+0

並且我做了一個「合併」管道,因爲調用4個不同的管道使我的應用程序變慢。 –

+0

@HelcioMacedo很高興幫助。 – Pengyy