将订阅方法中的多个属性与角度5中的可观察数据绑定?

时间:2018-02-21 16:51:11

标签: angular angular5

订阅observable后,如何设置多个变量?

换句话说:我想根据返回的数据在observable的订阅中设置多个组件属性。如:

data => { this.p1=data.p1; this.p2=data.p2;}

我尝试了很多方法,但只有整个数据与一个属性绑定。但我想在订阅方法本身获取内部数据。

任何建议都非常感谢。

1 个答案:

答案 0 :(得分:0)

进入订阅后,您可以访问类变量,并可以按照您想要的方式解构从订阅中收到的数据。

let myObservable = [however I define or get my observable]

myObservable.subscribe((data: any) => {

    this.p1 = data.p1;
    this.p2 = data.p2;
    // any other code you want to execute when observable fires
});

当然,这是假设data.p1data.p2实际存在。如果data nullundefined data.p1data.p2不存在,则可能会出现错误。