angular2正确的方式有Component的服务调用成员函数

时间:2016-04-27 05:47:20

标签: typescript angular

我应该如何让组件的服务调用方法(我使用带有Angular2的打字稿)?

我的服务需要偶尔通知组件一些事件。 (随着时间的推移随机更新)

我能想到的一种方法是让服务保持对组件的引用并直接使用ref来调用组件的方法。

在Angular2中还有其他更好/更合适的方法吗?

由于

1 个答案:

答案 0 :(得分:3)

提供组件可以订阅的可观察对象:

@Injectable()
export class MyService {
  Subject someEvent = new Subject();
  doSomething() {
    this.someEvent.next('someValue');
  }
}
@Component({ ...})
export class MyComponent {
  constructor(myService:MyService) {
    myService.someEvent.subscribe(value => this.someMethod(value));
  }

  someMethod(value) {
    console.log(value);
  }
}