/ / Acceso a componente desde servicio - angular

Acceso al componente desde el servicio - angular

En el ángulo 2, ¿es posible acceder al componente que llama (componente que está llamando al servicio) desde el servicio?

Digamos que mi componente es:

@Component({
selector: "my-component",
templateUrl: "myTemplate.html",
providers: [Service]
})

export class MyComponent{

constructor(private service:Service) {
service.accessComponent();
}

callMe(){
console.log("hello");
}
}

Y mi servicio sería:

@Injectable()

export class Service{
accessComponent(){
var myComponent = ???;

myComponent.callMe();
}
}

Respuestas

1 para la respuesta № 1

En primer lugar, no debes usar addEventListener, porque para manejar click, angular2 tiene su propia manera de hacer eso - <div (click)="calledFunc()"></div>. Es una forma idiomática de agregar evento click en angular2. (Según comentario de discusión)


0 para la respuesta № 2

esto es incorrecto llamar componente desde el servicio. Usted debe llamar al servicio en componente! Esta es la arquitectura de angular 2. Lee esto

Servicio:

 @Injectable()

export class Service{
accessComponent(){

alert("Hi!")

}
}

Componente:

 @Component({
selector: "my-component",
templateUrl: "myTemplate.html",
providers: [Service]
})

export class MyComponent{

constructor(private service:Service) {
service.accessComponent(); //and you see alert!
}


}