2016-03-23 20 views
1

Ich habe Umschaltfläche auf der Seite, sobald sie geklickt hat, dann würde die aktuelle Seitenansicht auf andere HTML ändern.Ionic2 Ansicht dynamisch ändern

Ich habe müde ändern @Page, aber sobald es geladen ist, kann ich nicht scheinen, es wieder zu ändern.

@Page({ 
    templateUrl: isTrue ? 'build/pages/detail/page-by-page-view.html' : 'build/pages/detail/chapter-by-chapter-view.html' 
}) 

Antwort

2

@Page() ist eine Anmerkung. Angular2 verarbeitet dies beim Laden der Komponente (was @Page() technisch ist). Es ist nicht Teil der Zonenänderungserkennung, daher wird das Ändern einer Variablen nichts bewirken. Nicht einmal nach dem Anruf applicationRef.tick().

könnte eine Lösung sein, eine *ngIf Richtlinie zu verwenden und fusionieren Ihre Template-Dateien

+0

tun Sie Beispiel-Anwendung für '* ngIf' mit Vorlage einschließlich haben? – Basit

+1

Merge deine Templates in eine Datei, mit dem ersten Top-Element von 'page-by-page-view.html':' * ngIf = "isTrue" 'und in dem anderen' * ngIf = "! IsTrue" ' – PierreDuc

+0

Ahhh .. so. – Basit