【发布时间】:2018-01-08 14:46:48
【问题描述】:
我设置了一个提供程序,该提供程序具有检查存储值的功能,如果未设置,将强制用户在使用应用程序之前进行设置。
因此,在每个页面上,在构造函数中,我都会在提供程序中调用我的 checkToken() 函数,如果没有设置,我想这样做
this.navCtl.push(TokenPage)
但我得到了这个错误
Error: Uncaught (in promise): Error: StaticInjectorError[NavController]:
StaticInjectorError[NavController]:
NullInjectorError: No provider for NavController!
这是我的提供者中的构造函数
constructor(private inAppBrowser: InAppBrowser, private storage:Storage, private navCtl:NavController) {
console.log('Hello SharedProvider Provider');
this.live = false;
}
这是检查我的存储中的值的函数。
checkLogin(){
var promise = new Promise((resolve, reject)=>{
this.storage.get("virtualToken").then((val)=>{
this.virtualToken = val;
});
this.storage.get("liveToken").then((val)=>{
this.liveToken = val;
});
});
if((this.virtualToken == null || this.virtualToken == '') && (this.liveToken == null || this.liveToken == '')){
console.log("Result of checkLogin" + this.virtualToken);
this.navCtl.push(TokenPage);
}
}
【问题讨论】:
标签: ionic-framework navigation