2017-09-12 40 views
1

在Angular 2中,我有一个包含模板的组件。从Angular 2中的组件代码访问模板中异步管道的结果

在组件TypeScript代码中,我创建了一个Reactive Extensions Observable(items$),并在具有异步管道的模板中使用ngFor-directive。

这样我就不必担心订阅和取消订阅自己。

<div *ngFor="let item of items$ | async"></div> 
... 
</div> 

现在从组件代码我想访问的项目列表,但没有订阅它。有没有办法从模板中取回项目清单的副本或参考?

+0

我现在认为这不可能的......你会必须对.ts进行订阅并将结果存储在一个变量中... –

回答

0

由于角4+你可以使用特殊的语法与as(适用于*ngIf以及):

<div *ngFor="let item of items$ | async as items"></div> 
    {{ items.length }} ... 
</div> 

看到这里的例子https://angular.io/api/common/NgForOf

+0

是的,但我希望对整个项目列表进行引用,并且希望在组件代码(ts-file)中访问它, – lox

+1

然后不,您需要在组件中进行订阅。 – martin

相关问题