簡體   English   中英

如何在angular2上聲明可觀察的

[英]How to declare an observable on angular2


我如何聲明一個可觀察對象以及如何在angular2中向它添加數據? 我有5個小時試圖弄清楚該怎么做。
我嘗試了

this.products : Observable<array>;
var object = {"item":item};
this.products.subscribe(object)

我嘗試的一切都會讓我出錯


我想使用它,因為我有一個經常更改的對象數組,並且在模板中ngFor不會更改值。 有什么幫助嗎?

http://pastebin.com/1cFXJHHk這是我嘗試做的

@pixelbits提供了一個很好的答案,描述了使用原始可觀察物的方式。

但是我認為您誤解了可觀察性和反應式編程是什么。 您可以看一下這份出色的入門指南:

所述subscribe obersables的方法允許注冊通知回調:

  • 有關事件的回調的第一個參數
  • 關於錯誤的回調的第二個
  • 最后一個完成

當然,您可以利用事件在列表中添加元素,但是我不確定這是您的用例:

var someList = [];
let observable = (...)
observable.subscribe(data => {
  someList.push(data);
});

這對於基於事件的工具/技術(例如WebSockets,Firebase等)特別有用。 此答案可以為您提供有關如何使用Firebase實施此操作的更多詳細信息:

如果要創建一個Observable(冷),則可以使用create方法:

myEvent:Rx.Observable<{item:Item}>;
myObserver: Rx.Observer<{item:Item}>;
constructor() {
    this.myEvent = Rx.Observable.create(o=>this.myObserver = o);
}
someEvent() {
    // do something
    var $event = {item:new Item()};

    // emit the event object when something interesting happens
    if(this.myObserver)
        this.myObserver.emit($event);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM