Angular 5主题<any>在兄弟组件更新后未从服务获取最新更新数据

时间:2018-05-22 10:13:23

标签: angular typescript angular5

我的项目结构:

1.Edit.component.ts
     share - folder
       2.one.component.ts
       3.two.component.ts
       Fileds - folder
         4.three.component.ts

我正在使用Subject at Service来更新共享文件夹子和兄弟组件内部的数据,并将数据提供给父级。

它非常适用于直接共享文件夹组件。但不适用于three.component.ts。我不知道为什么它没有从three.components更新。但我确信数据正确传递了服务。

Edit.components.ts

constructor(
  private service: Service,
  private route: ActivatedRoute,
  private router: Router
) { this.updateDataFromForm(); }
updateDataFromForm() {
  this.service.formData.subscribe(data => {
    this.formData = data;
  });
}

one.component.ts,two.component.ts,three.component.ts

consturctor(private service: Service)
ngOnint() {
this.updateFormData()
}
updateFormData() {
this.formGroup['valueChanges']
.debounceTime(500)
.subscribe(data => { this.service.formUpdate(data)})
}

Service.ts

 formDataSource = new Subject<any>();
 formData = this.formDataSource.asObservable();

 formUpdate(data){
   this.formDataSource.next(data)
 }

0 个答案:

没有答案