角度8:让一个变量订阅1个组件类中的另一个变量

时间:2019-11-13 08:11:49

标签: javascript angular typescript angular8

我在Angular中有两个相同类型的对象。

 public addressFinalData: AddressMailingData;
 mailingArchive: AddressMailingData[] = [];

如何在1个组件中订阅相同类型的数据对象

希望mailingArchive [2]始终订阅addressFinalData的值(每当AddressFinalData更改时,MailingArchive都应将该值存储在数组2中)。

1 个答案:

答案 0 :(得分:0)

您可以创建可观察到的AddressMailingData,并在订阅中可以更改新值。

public addressFinalData = new Subject<AddressMailingData>();
 mailingArchive: AddressMailingData[] = [];

ngOnInit() {
   this.addressFinalData.subscribe(
       (val: any) => {
           this.mailingArchive[2] = val;
        }
   )
}

因此,每当更改addressFinalData的值时,都需要使用下一个方法来发出该数据。

this.addressFinalData.next({newData});