【发布时间】:2017-02-21 04:47:52
【问题描述】:
我有一个包含 CRUD 操作集合的服务。其中之一是“得到所有”的交易。所有返回 HTTP 可观察对象,如:
getUsers(): Observable<User[]> {
return this.http.get(this.baseURL + '/api/users').map((response: Response) => response.json()).share();
}
现在,我有一个使用异步管道订阅服务的组件:
this.users = this.userService.getUsers();
<md-list-item *ngFor="let user of users | async;>
在另一个组件中,我想调用getUsers 方法(因为它对数据执行了一些操作),并让另一个组件自动更新。
this.service.getUsers() 当然不起作用,因为它需要订阅。
有没有办法使订阅/可观察永久化?我错过了什么吗?
我通常会做一些事情,即组件直接订阅服务中的主题并手动更新它。但想知道是否有一些花哨的虚假方式。
【问题讨论】:
-
组件一确实订阅了它。如果另一个组件执行
this.service.getAll().subscribe(),该组件会做出反应吗? -
@yurzui,就是这样!我无法将您的评论标记为答案。 :)
标签: angular