behaviourSubject em angular2, como funciona e como usá-lo
Estou tentando criar um serviço compartilhado da seguinte maneira
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;
}
Eu não sei como implementar BehaviourSubject basicamente o que estou tentando aqui é apenas uma bagunça, eu acho e estou chamando esse valor no componente filho usando
console.log('behiob' + shared.space.single());
que está lançando um erro como .single () / last () etc, o que quer que esteja disponível não é uma função, então alguém pode me mostrar como ele realmente funciona e como implementá-lo enquanto eu procurava pelos exemplos, mas nenhum está fazendo sentido para mim.