Winkel 5 abonnieren und abbestellen Beobachten

Habe ich, um Daten aus zwei abonnieren, aber ich bekomme immer die Daten des ersten.

Habe ich eine Daten-shared service :

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);
    }
}

Vor dem verlassen Suchkomponente, ich nenne update-Methode.
Jetzt bin ich auf die Ergebnisse-Komponente. Ich bekomme freigegebenen Daten, wie :

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()
        );
    } 

Meine Frage ist : muss ich auf freigegebene Daten zu abonnieren, um anderen zu beobachten. Zuerst Baue ich ein Objekt Fahrt und nachdem ich den Aufruf der search Methode

    search() {
    this.rideStore.searchRides(this.ride).subscribe(
        rides => {
            //this.dataSvc.update(rides);
            this.rides = rides;
            console.log('results', this.ride);
        },
        err => console.log('err', err)
    );
}

Das problem ist, ich bekomme immer die Daten aus data service und nicht von der api-Aufruf. Die api funktioniert, weil ich abfangen Ergebnisse im store-aber nicht in der Komponente. So Wie ich das stoppen kann, abonnieren Sie zuerst beobachten und "abonnieren" des zweiten ?

this.data = data ? data : undefined Sie sicherlich bedeuten this.data === data ? data : undefined
Nein, diese Zeile ist gut, ich beeinflussen dat-Objekt oder undefined.Daten
Ok, ich habe mich gerade gefragt, ob es ein Tippfehler ist oder nicht. Ich bekomme es, es ist eigentlich this.data = (data ? data : undefined)
ja, es ist so; ich versuche, Sie zu verschmelzen oder concat abonnieren, aber es funktioniert nicht
Ich weiß es nicht wirklich. Es klingt einfach zu machen zwei subsciptions, nicht wahr? Wie this.sub1 und this.sub2 und nur noch zwei subs.

InformationsquelleAutor ghuntheur | 2018-01-29

Schreibe einen Kommentar