我正在尝试在应用程序中使用nativestorage(https://github.com/TheCocoaProject/cordova-plugin-nativestorage)。
一切都很好,我可以构建该应用程序。
在我的app.components.ts
中,我有这个
this.setRootPage();
在
this.platform.ready().then(()
的末尾哪个依次调用该函数
setRootPage() {
//intro skip if value is set
this.nativeStorage.getItem("intro").then((intro) => {
if (intro) {
this.rootPage = Category1Page;
} else {
this.rootPage = IntroPage;
}
});
}
在IOS模拟器和使用
Error: Uncaught (in promise): [object Object]
的浏览器上运行应用程序ionic cordova run browser
时,我最终都出错非常感谢您的帮助
离子信息
cli packages: (/usr/local/lib/node_modules)
@ionic/cli-utils : 1.12.0
ionic (Ionic CLI) : 3.12.0
global packages:
cordova (Cordova CLI) : 7.0.1
local packages:
@ionic/app-scripts : 1.3.7
Cordova Platforms : android 6.2.3 browser 4.1.0 ios 4.4.0
Ionic Framework : ionic-angular 3.3.0
System:
ios-deploy : 1.9.2
Node : v6.11.2
npm : 3.10.10
OS : macOS High Sierra
Xcode : Xcode 9.0 Build version 9A235
Misc:
backend : pro
最佳答案
我认为您不能只是动态更改rootPage
变量来设置NavController
的根。首先,确保rootPage
具有初始值(也许是空白页)。然后,要在NavController
中使用app.component
,必须将模板变量添加到ion-nav
模板中:
<ion-nav #Nav [root]="rootPage"></ion-nav>
并使用
ViewChild
添加参考:@ViewChild('Nav') nav: NavController;
然后,您可以按以下方式修改
setRootPage
函数:this.nativeStorage.getItem("intro").then((intro) => {
if (intro) {
this.nav.setRoot(Category1Page);
} else {
this.nav.setRoot(IntroPage);
}
}, (error) => {
this.nav.setRoot(IntroPage);
});
关于ios - ionic NativeStorage错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46643461/