rutas pasar parametros modulos entre ejemplo comunicacion componentes angular typescript angular2-services angular2-components angular2-injection

modulos - pasar parametros entre componentes angular 4



¿Cómo llamar al método componente desde el servicio?(angular2) (1)

Quiero crear un servicio que pueda interactuar con un componente. Todos los demás componentes en mi aplicación deberían poder llamar a este servicio, y este servicio debería interactuar con este componente.

¿Cómo llamar al método componente desde el servicio?

@Component({ selector:''component'' }) export class Component{ function2(){ // How call it? } }

De este servicio?

@Injectable() export class Service { callComponentsMethod() { //From this place?; } }


La interacción entre los componentes se puede lograr utilizando servicios. Necesitará inyectar el uso del servicio para la comunicación entre componentes en todos los componentes que necesitarán usarlo (todos los componentes del llamador y el método callee) y hacer uso de las propiedades de Observables.

El servicio compartido puede verse más o menos así:

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

He creado un ejemplo básico aquí , donde al hacer clic en un botón de Componente1 se llamará un método desde Componente2.

Si desea leer más sobre el tema, consulte la sección de documentación dedicada: https://angular.io/docs/ts/latest/cookbook/component-communication.html#!#bidirectional-service