我想创建服务,它可以与一个组件进行交互.
我的应用程序中的所有其他组件应该能够调用此服务,并且此服务应该与此组件交互.
我的应用程序中的所有其他组件应该能够调用此服务,并且此服务应该与此组件交互.
@Component({ selector:'component' }) export class Component{ function2(){ // How call it? } }
从这个服务?
@Injectable() export class Service { callComponentsMethod() { //From this place?; } }
使用服务确实可以实现组件之间的交互.您需要将用于组件间通信的服务用途注入需要使用它的所有组件(所有调用程序组件和被调用方法)并使用Observables的属性.
原文链接:https://www.f2er.com/angularjs/142256.html共享服务可能如下所示:
import { Injectable } from '@angular/core'; import { Subject } from 'rxjs/Subject'; @Injectable() export class CommunicationService { // Observable string sources private componentMethodCallSource = new Subject<any>(); // Observable string streams componentMethodCalled$= this.componentMethodCallSource.asObservable(); // Service message commands callComponentMethod() { this.componentMethodCallSource.next(); } }
我创建了一个基本示例here,其中单击Component1中的按钮将从Component2调用方法.
如果您想了解有关该主题的更多信息,请参阅专用文档部分:https://angular.io/docs/ts/latest/cookbook/component-communication.html#!#bidirectional-service