我必须从两个订阅中获取数据,但我总是得到第一个的数据.
我有一个数据共享服务:
import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
@Injectable()
export class DataService {
private source = new BehaviorSubject<any>('');
data = this.source.asObservable();
constructor() { }
update(values: any) {
this.source.next(values);
}
}
Run Code Online (Sandbox Code Playgroud)
在离开搜索组件之前,我调用了update方法.
现在,我在结果组件上.我得到这样的共享数据:
constructor(private dataSvc: DataService,
private router: Router,
private rideStore: RideStore) { }
ngOnInit() {
this.getData();
}
getData() {
this.subscription = this.dataSvc.data.take(1).subscribe(
data => this.data = data ? data : undefined,
err => console.log(err),
() => this._isValid()
);
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:我需要共享数据来订阅另一个observable.首先,我构建一个对象骑行并在我调用搜索方法之后
search() {
this.rideStore.searchRides(this.ride).subscribe(
rides …
Run Code Online (Sandbox Code Playgroud)