从字符串中可观察到(Angular 2)

时间:2016-02-22 14:54:21

标签: angular observable

我对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');
}

我想我在这里做错了什么?但不知道该怎么问。我将不胜感激任何解释。

1 个答案:

答案 0 :(得分:14)

您可以使用of类的Observable方法:

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

修改

关于您的服务代码,我会重构您set方法的代码:

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

您可以订阅应用程序其他部分的notice属性以获得通知。