小编ghu*_*eur的帖子

Angular 5订阅和取消订阅Observable

我必须从两个订阅中获取数据,但我总是得到第一个的数据.

我有一个数据共享服务:

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)

observable rxjs typescript angular

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

标签 统计

angular ×1

observable ×1

rxjs ×1

typescript ×1