为什么自定义组件在离子2中创建页面之前运行?

时间:2017-09-12 07:43:11

标签: javascript ionic-framework

我想在离子项目中实现自定义组件,然后我跟着this guide来实现它。

在我的页面上,实例化一个变量以传递给我的组件

export class NewSegmentPage {

name: any;

constructor(public navCtrl: NavController, public navParams: NavParams) {
this.name = "hello";      
}

并在模板中

...
<ion-content>
  <slider [name]="name"></slider>
</ion-content>

现在我创建我的组件

<ion-item>
  <ion-range dualKnobs="true" pin="true" [(ngModel)]="structure"></ion-range>
</ion-item>

并检索我通过 @Input

传递给变量的数据
@Input("coordinates") activity;
structure: any = { lower: 33, upper: 60 };

constructor() {
   console.log(this.activity);
}

但是this.activity变量未定义。

此外,在谷歌控制台中,我看到该组件是在页面之前创建的,这就是它无法传递数据的原因。但是,它的表现如何?

1 个答案:

答案 0 :(得分:0)

执行是正确的,但我错误地在构造函数中检索 this.activity 变量。关闭我的构造函数,我的变量被实例化。

ngAfterViewInit() {
   console.log(this.activity);    
}