2016-06-30 68 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生命周期钩执行以下

初始化指令/组件角初始化 数据绑定输入属性之后。