2016-06-30 14 views
1

ich arbeite auf Angular 2 rc1 Version Ich habe ein Ladeproblem mit * ngIfAngular 2 * ngIf nicht auf den ersten Laden arbeiten

Mein Code wie unten

export class PlansComponent implements OnInit{ 
    plan_id: string = 'free'; 
} 

Komponente

<button class="btn btn-default" *ngIf="plan_id == 'free'">Free</button> 

Diese Seite wird geladen, indem die Methode navigate des Routerobjekts in einer anderen Seite

verwendet wird

Die Schaltfläche mit * ngIf wird beim ersten Mal nicht angezeigt. Nachdem ich die Seite aktualisiert/neu geladen habe, funktioniert die Schaltfläche korrekt.

I don wissen, der Grund, warum das erste Mal nicht

funktioniert

Irgendwelche Lösungen?

Dank

Antwort

0

Eine Möglichkeit, dies geschieht könnte ist, dass Sie DOM vor dem View-Modell (Instanz der Klasse) geladen ist, und da es kein Modellfeld wird zu bewerten hat ngIf falsch. Versuchen Sie, Ihre Variable in der onInit-Funktion wie folgt zu initialisieren.

export class PlansComponent implements OnInit{ 
plan_id: string; 

ngOnInit(){ 
    plan_id = "free"; 
} 
} 

weil nach dem Entwicklerführungs ngOnInit Lifecycle Haken führt folgende

die Richtlinie/Komponente initialisieren, nachdem die Angular dagetenbundenen Eingangs Eigenschaften initialisiert.