使用单一模型在多个组件之间传递数据并预先设定它?

时间:2018-05-29 10:37:29

标签: rxjs angular5 behaviorsubject

我有这项服务:

import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
import { Observable } from 'rxjs/Observable';

@Injectable()
export class DataService<T> {
  private subject: BehaviorSubject<Partial<T>> = new BehaviorSubject<Partial<T>>(null);
  changeData(message: Partial<T>) {
    this.subject.next(message);
  }

  clearData() {
    this.subject.next(null);
  }

  getData(): Observable<Partial<T>> {
    return this.subject.asObservable();
  }
}

我正在使用它。 日期选择器:

this.ds.changeData({
  dateFrom: this.dateRange.start,
   dateTo: this.dateRange.end
});

主要组成部分:

 this.ds.getData().subscribe((data: FilterQuery) => {
        console.log('Update data', data);
        this.filterModel = data;
 });

我想添加更多组件,什么是预先处理数据和构建完整查询对象的最佳方法?如果您有任何其他建议,我将很乐意欣赏它。

0 个答案:

没有答案