我应该如何让组件的服务调用方法(我使用带有Angular2的打字稿)?
我的服务需要偶尔通知组件一些事件。 (随着时间的推移随机更新)
我能想到的一种方法是让服务保持对组件的引用并直接使用ref来调用组件的方法。
在Angular2中还有其他更好/更合适的方法吗?
由于
答案 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);
}
}