【发布时间】:2017-11-13 10:12:17
【问题描述】:
我正在使用 Ionic 2 选项卡模板来创建应用程序。每次用户点击其中一个选项卡时,我都想调用构造函数中编写的代码。但是,目前在第一次点击时不会发生这种情况。但是当我第二次点击时,构造函数代码被正常调用。知道为什么吗?
export class HomePage {
data = {};
constructor(public http: Http,
public navCtrl: NavController,
private authService: AuthService,
private storage: Storage,
) {
this.storage.get('email')
.then((val) => {
console.log(val);
if(val === null) {
this.navCtrl.setRoot(LoginPage);
}
});
}
}
}
注销功能
logout() {
this.storage.remove('email')
.then((val) => {
console.log('logged out successfully!');
})
}
离子信息:
全局包:
@ionic/cli-utils : 1.4.0
Cordova CLI : 7.0.1
Ionic CLI : 3.4.0
本地包:
@ionic/app-scripts : 1.1.4
@ionic/cli-plugin-cordova : 1.4.0
@ionic/cli-plugin-ionic-angular : 1.3.1
Cordova Platforms : android 6.1.2 ios 4.1.1
Ionic Framework : ionic-angular 2.3.0
系统:
Node : v7.10.0
OS : OS X El Capitan
Xcode : Xcode 8.2.1 Build version 8C1002
ios-deploy : 1.9.1
ios-sim : 5.0.13
npm : 4.2.0
【问题讨论】:
-
我认为您添加此点击事件代码的位置错误,您应该检查 tab ts。有时,当您切换到另一个主页时,它可能不会在内存中释放,因此当您切换回来时,主页构造函数不会运行。
-
所以你想在每次进入这个页面时检索它?
-
@tomriddle_1234 我确实用 TabsPage 替换了 HomePage 但仍然没有运气。
-
@suraj 是的,那太好了。
-
@PHPDev 检查我的答案