所以我要在组件A中设置一个数组
this.passingService.setArray(this.array);
并在组件B中进行检索
this.passingService.getArray();
这是我的过往服务的样子:
passingService.ts
data: any;
set(array){
this.data = array;
}
get(){
return this.data;
}
每5分钟调用一次componentA中设置数据的方法。并且数据可能会更新也可能不会更新。我需要将更新后的数据从A传递到B。
我也尝试直接通过变量设置数据
this.passingService.data = this.arrayA; //component A
this.arrayB = this.passingService.array; //componentB
这是我的过往服务的样子:
passingService.ts
data: any;
我没有实时获取更新的数据。重新加载应用程序后,我可以看到它。我需要实时更新的数据。 有人可以帮我吗?
答案 0 :(得分:0)
您应该改用Observable发出更改,然后订阅组件B,以便您的服务看起来像
import {EventEmitter} from '@angular/core'
dataSource=new EventEmitter<any>();
然后在组件b
this.passingService.dataSource.subscribe((data)=>{this.arrayB=data});
只要您的数据发生更改,便在组件中
this.passingService.dataSource.emit(this.arrayA);