поведение в предмете 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 () и т. д. все, что доступно, не является функцией, поэтому кто-то может показать мне, как это на самом деле работает и как ее реализовать, когда я искал примеры, но ни один из них не имеет смысла для меня.

Ответы на вопрос(1)

Ваш ответ на вопрос