2017-04-04 9 views
0

Ich habe eine "Anmelde" -Methode auf app.component.ts Klasse, die von "Registrieren" Link auf app.component.html Datei aufgerufen wird. Es ruft intern eine Serviceklasse und weitere Login-Daten auf.App.component.ts -Methode von einer anderen Komponente aufrufen

html:

<a (click)="signup($event)">Sign up</a> 

ts:

export class AppComponent implements OnInit, OnDestroy { 
     signup(e: any) { 
      this.service.signup(); 
     } 

} 

Es gibt eine andere html/Komponentendatei, die den gleichen Werbe-Link hat. Ist es möglich, AppComponents Anmeldeverfahren direkt aus der HTML-/Komponentendatei aufzurufen?

+2

Verwenden Sie eine Observable, abonnieren Sie sie in 'AppComponent' und geben Sie Ereignisse von der anderen Komponente aus. –

+0

Danke für die schnelle Antwort. Hast du einen Beispielcode? (Ich bin neu in A2) – developer

+2

https://angular.io/docs/ts/latest/cookbook/component-communication.html#!#bidirectional-service –

Antwort

1

Sie können in unter Bedingungen einer Komponentenmethode/Funktion aufrufen, in gleichen DOM sein

  • Beide Komponenten sollten beide Eltern-Kind-Beziehung bedeuten haben.
  • Sie können freigegebene Hauptkomponente über andere Komponente
  • Get Shared Service.
  • Ereignis bei jeder Änderung von Eigenschaften/Werten unterschreiben. Ereignissender.

Besser zu Shared Service für Ihre Anforderung verwenden, wo gemeinsame Funktion zusammen sind.

Verwandte Themen