2016-06-30 97 views
1

我對角2 RC1版本 工作的工作,我有一個加載問題與* ngIf角2 * ngIf不是第一次裝載

我的代碼如下

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

組件

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

在另一頁使用路由器對象的導航方法加載此頁面

this.router.navigate(['/plans']); 

帶* ngIf的按鈕將不會在第一次顯示。刷新/重新載入頁面後,按鈕將正常工作。

我不知道第一次不工作的原因

任何解決方案?

感謝

回答

0

一個,這可能發生的方式是,你已經DOM視圖模型(你的類的實例)之前加載,因爲它沒有示範田,以評估ngIf爲假。嘗試像這樣在onInit函數內初始化你的變量。

export class PlansComponent implements OnInit{ 
plan_id: string; 

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

因爲根據顯影劑導向ngOnInit生命週期鉤執行以下

初始化指令/組件角初始化 數據綁定輸入屬性之後。