我有两个需要通过服务共享数据的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向每个新订阅者发送最后一个事件的内容?