2016-06-08 12 views
0

Da getComponent nicht mehr verfügbar ist, habe ich das nächste Szenario.Ionic 2 GetComponent Alternative

Inside app.ts und app.html Ich habe eine Menükomponente und eine Nav-Komponente. Innerhalb der Nav-Komponente füge ich eine Seite mit Tabs hinzu. Wenn ich auf das Menü klicke, das Teil der App-Komponente ist, möchte ich Tabs ändern können.

Ursprünglich war es einfach durch die Verwendung:.

this.app.getComponent ('mytabs') wählen (3) Jetzt verstehe ich, dass ich viewchild verwenden müssen, um so habe ich versucht, beide unter Verwendung von:

@ViewChild('mytabs') tabs:Tabs; 

Die Ion-Tab-Komponente hat eine #mytabs-Referenz.

Und

@ViewChild(Tabs) tabs:Tabs; 

Sowohl Zeit die this.tabs var nicht definiert ist. Meine Vermutung ist, dass die Komponente nicht verfügbar ist, wenn die app.ts-Komponente initialisiert wird. Was sind meine Möglichkeiten hier?

Hier ist meine ionische Info

Cordova CLI: 6.1.1 
Gulp version: CLI version 3.9.1 
Gulp local: Local version 3.9.1 
Ionic Framework Version: 2.0.0-beta.7 
Ionic CLI Version: 2.0.0-beta.29 
Ionic App Lib Version: 2.0.0-beta.16 
OS: 
Node Version: v4.4.0 

Antwort

0

abgefragt Variablen von @ViewChild() und @ViewChildren() werden nicht initialisiert, bevor ngAfterViewInit() aufgerufen wurde. Wenn Sie im Konstruktor auf tabs oder ngOnInit() verweisen, wird es null sein.

+0

Was sind meine Optionen hier, da ich Bootstrap nicht verwenden kann. – keepwalking

+0

Sorry, ich weiß nicht Ionic. '@ViewChild()' kann nur Elemente in der Vorlage der aktuellen Komponente abfragen. Ich weiß nicht, wie Ihre App-Komponente und Ihre Tab-Komponente zusammenhängen. –