Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript angular2使组件具有服务调用成员功能的正确方法_Typescript_Angular - Fatal编程技术网

Typescript angular2使组件具有服务调用成员功能的正确方法

Typescript angular2使组件具有服务调用成员功能的正确方法,typescript,angular,Typescript,Angular,我应该如何允许组件的服务调用方法(我使用的是带有Angular2的typescript) 我的服务需要偶尔通知组件一些事件。(随时间随机更新) 我可以想到的一种方法是让服务保留组件的ref,并直接使用ref调用组件的方法 在Angular2中有没有其他更好/合适的方法 谢谢提供组件可以订阅的可观察到的: @Injectable() export class MyService { Subject someEvent = new Subject(); doSomething() {

我应该如何允许组件的服务调用方法(我使用的是带有Angular2的typescript)

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

我可以想到的一种方法是让服务保留组件的ref,并直接使用ref调用组件的方法

在Angular2中有没有其他更好/合适的方法


谢谢

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

@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);
  }
}