通过使用服务中的引用数据类型进行angular2数据绑定

时间:2016-04-06 14:11:45

标签: data-binding angular angular2-services

所以我最近发布了angular2 data binding between service and component properties,Thierry指出了一些有趣的东西。

如果我有一个类似数组的引用数据类型或存储在服务中的对象(singelton)并在指向它的各种组件中创建引用,那么当从任何地方更新对象时,视图将更新所有组件(并且它可以正常工作) !)。

就我而言,我正在构建一个小型论坛,其中需要同时在各种组件中显示/查看线程对象(例如,预览,主视图,仪表板......)。对于更新/编辑文本字段,这可能非常方便。

现在我想知道这是否可以保存使用?

1 个答案:

答案 0 :(得分:1)

当字段发生变化时,您需要利用哪些组件将订阅的可观察对象。

类似的东西:

export class Service {
  name = "Luke";
  nameUpdated = new Subject();

  getName() {
    return this.name;
  }

  updateName() {
    this.name = 'Luke1';
    this.nameUpdated.next(this.name);
  }
}

并在组件中:

this.name = this._service.name;
this._service.nameUpdated.subscribe(name => {
  this.name = name;
});

请参阅此plunkr:https://plnkr.co/edit/CRE92tdCsteoS2MVeGfh?p=preview