如何在 Angular2 上声明一个 Observable

Rus*_*ine 2 typescript angular


我如何声明一个 observable 以及如何在 angular2 中向它添加数据?我有 5 个小时的时间试图弄清楚该怎么做。
我试过这个

this.products : Observable<array>;
var object = {"item":item};
this.products.subscribe(object)
Run Code Online (Sandbox Code Playgroud)

我尝试的一切都会引发错误


我想使用它,因为我有一个经常更改的对象数组,并且在模板中 ngFor 没有更改值。有什么帮助吗?

http://pastebin.com/1cFXJHHk 这是我尝试做的

Thi*_*ier 7

@pixelbits 提供了一个很好的答案,描述了使用原始可观察量的方法。

但我认为您误解了可观察量和反应式编程是什么。您可以先看一下这篇精彩的介绍:

obersables 的方法subscribe允许注册通知回调:

  • 事件回调的第一个参数
  • 第二个是关于错误的回调
  • 最后一张为完成

当然,您可以利用事件在列表中添加元素,但我不确定这是否是您的用例:

var someList = [];
let observable = (...)
observable.subscribe(data => {
  someList.push(data);
});
Run Code Online (Sandbox Code Playgroud)

这对于基于事件的工具/技术(例如 WebSockets、Firebase 等)特别有用......上面的可观察内容将链接到它们上。这个答案可以为您提供有关如何使用 Firebase 实现这一点的更多详细信息: