поведение в предмете angular2, как оно работает и как его использовать
Я пытаюсь построить общий сервис следующим образом
import {Injectable,EventEmitter} from 'angular2/core';
import {Subject} from 'rxjs/Subject';
import {BehaviorSubject} from 'rxjs/subject/BehaviorSubject';
@Injectable()
export class SearchService {
public country = new Subject<SharedService>();
public space: Subject<SharedService> = new BehaviorSubject<SharedService>(null);
searchTextStream$ = this.country.asObservable();
broadcastTextChange(text: SharedService) {
this.space.next(text);
this.country.next(text);
}
}
export class SharedService {
country: string;
state: string;
city: string;
street: string;
}
Я не знаю, как реализовать BehaviourSubject в основном то, что я пытаюсь здесь, это просто беспорядок, я думаю, и я вызываю это значение в дочернем компоненте с помощью
console.log('behiob' + shared.space.single());
который выдает ошибку как .single () / last () и т. д. все, что доступно, не является функцией, поэтому кто-то может показать мне, как это на самом деле работает и как ее реализовать, когда я искал примеры, но ни один из них не имеет смысла для меня.