2017-08-30 1 views
0

Ich habe meine Routing setzen sich wie folgt zusammen:angular2-nativescript verschachtelte Komponente Seite Ereignisse

const pages = [ 
    { 
     path: "", 
     component: BaseComponent, 
     children: [ 
      { path: "scan", component: ScanComponent } 
     ] 
    } 
]; 

So zum Beispiel, wenn Sie gehen zu/Scan, es geht BaseComponent und ScanComponent.

Die BaseComponent enthält eine <router-outlet></router-outlet>, die den Inhalt des ScanComponent rendert.

Das alles funktioniert gut, aber:

In ScanComponent Ich habe folgendes:

constructor(private page: Page) { 
    this.page.on('navigatedTo',() => console.log('navigatedTo')); 
} 

Und dieses Ereignis wird nie aufgerufen.

Wenn ich die Zeile component: BaseComponent von der übergeordneten Route entfernen, wird das Ereignis aufgerufen, aber das bricht natürlich andere Dinge.

Wie kann ich sicherstellen, dass dieses Ereignis immer dann aufgerufen wird, unabhängig davon, ob es eine übergeordnete Komponente oder nicht?

Dies ist eine NativeScript Anwendung, wo die Wurzelkomponente enthält <page-router-outlet></page-router-outlet>

Antwort

0

Okay, ich es herausgefunden ... da „Seite“ ein nativescript Konzept ist, werden seine Ereignisse nur dann angewendet, wenn die Route in page-router-outlet geladen wird, auch ein NativeScript-Konzept. Es macht nur Sinn.

Nach Google stundenlang suchen, warum herauszufinden, habe ich immer die Antwort direkt nach dem zu Stackoverflow Entsendung !? * Seufz * Ich denke, es ist eine Art Gummiente Programmierung.

Verwandte Themen