angular - 从 Angular 2 中的组件代码访问模板中异步管道的结果

标签 angular rxjs observable angular2-template angular2-pipe

在 Angular 2 中,我有一个带有模板的组件。

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

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

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

现在我想从组件代码访问项目列表,但不订阅它。有没有办法从模板中交回项目列表的副本或引用?

最佳答案

您可以在组件中这样做:

items$.pipe(tap(items => this.items = items);

这样,您就不会订阅流,并且可以继续使用异步管道,但如果发出新值,它将保存在 items 变量中。

关于angular - 从 Angular 2 中的组件代码访问模板中异步管道的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46175758/

相关文章:

java - 如何在 Angular 前端中从 REST-Backend 接收一个字符串

javascript - 我如何在 Rx Observable 上设置 `await`?

angular - 在服务 http.get 调用完成后让组件执行函数

angular 4+ - 全局导入模块进行测试

angular - 错误 NG6001 : Cannot declare 'Highchar tsChartComponent' in an NgModule as it's not a part of the current compilation

javascript - 为什么我的点击事件是最后一个事件?

javascript - RxJS Observable.fromEvent 链为每个订阅者触发

javascript - 无法识别的 JavaScript 语法

angular - 如何构建具有多个用户面板的 Angular 2 应用程序

merge - combineLatest 组合或合并 Observables 的替代方法