相关疑难解决方法(0)

订阅Observable时如何获得最后一个值?

我有两个需要通过服务共享数据的Angular2组件:

@Injectable()
export class SearchService {
  private searchResultSource = new Subject<string>()
  searchResult$ = this.searchResultSource.asObservable()

  setSearchResults(_searchResult: string): void {
    this.searchResultSource.next(_searchResult)
  }
}
Run Code Online (Sandbox Code Playgroud)

假设ComponentA已呈现并且它通过发出事件SearchService.setSearchResults.然后用户导航到ComponentB,也订阅searchResult$.但是,ComponentB永远不会观察发出的事件,ComponentA因为它searchResult$ComponentA发出事件时没有订阅,因为它不存在.

如何创建Observable向每个新订阅者发送最后一个事件的内容?

observable rxjs typescript angular

30
推荐指数
2
解决办法
2万
查看次数

标签 统计

angular ×1

observable ×1

rxjs ×1

typescript ×1