web-dev-qa-db-ja.com

文字列から観測可能(Angular 2)

私はObservablesにかなり慣れています。単純な文字列だけからObservableを作成するにはどうすればよいですか?次に、それをサブスクライブし、変更されたときに出力します。

それは理にかなっていますか?

私はグーグル検索で運がありません。おそらく間違ったキーワード?


より良い説明のためにいくつかのコードを追加します:

My constructor on service

constructor() {
  // Create observable stream to output our data
  this.notice = Observable.create(
    (observer) => this.observer = observer;
  );
};

My method on service

set(string) {
  this.notice.subscribe((value) => {
    // Push the new value into the observable stream
    this.observer.next(string);
  }, (error) => console.log('Could not set data.'));
}

Calling service method 

setNotice(event) {
  event.preventDefault();

  // Calling service to set notice
  this.noticeService.set('This is a string');
}

私はここで何か間違っていると思いますか?しかし、尋ねる方法がわかりません。私はどんな説明にも感謝します。

9
be-codified

ofクラスのObservableメソッドを使用できます。

var obs = Observable.of('some string');

編集

あなたのサービスのコードに関して、私はあなたのsetメソッドのコードを次のようにリファクタリングします:

set(string) {
  this.observer.next(string);
}

アプリケーションの別の部分のnoticeプロパティをサブスクライブして通知を受けることができます。

16