我试图使用此处显示的Page Life Cycle Events。我试图使用ionViewDidLoad
,但它并没有为我开火。我创建了一个plunkr,以尽可能简单的方式表达我的例子。我在ionViewDidLoad
内有一个日志语句,但它没有被解雇。如果您查看page1.ts
中的home.ts
和plunkr
,您会看到日志声明。
每个文件的基本代码是:
import { NavController } from 'ionic-angular/index';
import { Page1 } from 'page1.ts'
import { Component } from "@angular/core";
@Component({
templateUrl:"home.html"
})
export class HomePage {
greeting: string;
constructor(private nav: NavController) {
}
ionViewDidLoad(){
console.log('home.ts view initialized');
}
goToPage1() {
this.nav.push(Page1);
}
}
在我自己的代码中,我每次都调用API并将其触发,因此我需要一个生命周期钩子,以便我
答案 0 :(得分:2)
我认为使用您需要的Ionic特定生命周期事件来使用NavComponent推送视图。
我将ionViewDidLoad()
替换为ngOnInit()
,并按预期启动了控制台命令。
http://ionicframework.com/docs/v2/api/navigation/NavController/
答案 1 :(得分:2)
我认为,由于您的网页是标签页,因此生命周期事件的工作方式与普通网页的工作方式不同。如果每次选择选项卡时都需要执行某些操作(例如从服务器获取数据),请检查Ionic docs的this part:
有时您可能想要调用方法而不是导航到新方法 页。 您可以使用(ionSelect)事件来调用类上的方法 选择标签时。以下是呈现模态的示例 来自其中一个标签。
<ion-tabs>
<ion-tab (ionSelect)="getData()"></ion-tab>
</ion-tabs>
并且
export class Tabs {
constructor(...) {
}
public getData() {
// Awesome code doing awesome things...
}
}
因此,每次选择标签时,您都可以使用(ionSelect)="yourMethod()"
来调用该API。