使用Angular 2将ngFor结果写入变量

时间:2017-04-13 11:58:20

标签: angular

使用AngularJS我可以做到:

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

我已经进行了ng-repeat及其结果,我已经设置为 filteredList.sup 变量。

我正在尝试使用Angular 2做同样的事情,但不像AngularJS 那样容易(我是Angular 2的新手)

我试过了: ng2: How to create variable in ngFor loop

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

没有成功! :/

PS *如果我可以在“controller”/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 =自定义管道

1 个答案:

答案 0 :(得分:2)

在Angular2中,它无法实现,但正如Angular4中提到的here,您可以像我们在angularjs中那样再次实现它。

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

如果我可以在"控制器" /component.ts中使用我的管道,它也可以提供帮助。

是的,如果您不介意在模板和组件中使用Pipe两次,您可以通过这种方式调用管道:

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

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