Angular - 修改可观察值

时间:2017-09-04 12:49:42

标签: angular typescript observable

我的angular组件中有一个函数可以接收一个observable。我需要修改observable中的对象然后再将其“放回”observable中并返回它。到目前为止,这是我的代码:

myImmobili =  Observable<Valutazione[]>;
newImmobile(immobili: Observable<Valutazione[]>) {

    immobili.subscribe(
      imm => { 
        console.log(imm);
        imm.push(new Valutazione());
        console.log(imm);
        this.myImmobili = //some code here
      }
    );
  }

任何人都可以给我一个提示吗?也许有更好的方法来修改我的数组而不订阅它,但我找不到它。感谢。

修改

newImmobile() {

    this.immobili.subscribe(i => console.log('before', i));
    this.immobili.map(imm => {
      imm.push(new Valutazione());
      console.log('inside', imm);
    }
    );
    this.immobili.subscribe(i => console.log('after', i));
  }

现在它完全跳过了地图功能。 “之前”和“之后”的日志显示相同的数组,并且“内部日志”不显示。

1 个答案:

答案 0 :(得分:1)

您可以使用map:

而不是订阅
immobili.map(
  imm => { 
    console.log(imm);
    imm.push(new Valutazione());
    console.log(imm);
    this.myImmobili = //some code here
  }
);