Vam*_*nki 1 local-storage ionic2
在我启动应用程序之前,如果有任何可用的用户数据,我将检查本地存储,如果是,我将导航到主页,否则登录页面.
在这里,我无法检索存储的数据,请输入任何输入...
目前正在使用Ionic 2 SQlite插件.
注意:在浏览器中它工作正常,但在Android设备上它无法正常工作.
loadUser() {
this.userSettings.getUser().then(user => {
this.userObj = JSON.stringify(user);
if (user) {
console.log('App : ', this.userObj);
this.nav.setRoot(HomePage,this.userObj);
} else {
console.log('App : No user data');
this.rootPage = LoginPage;
}
});
}
Run Code Online (Sandbox Code Playgroud)
this.userSettings.addUser(
userData.employeeCode,
userData.password,
userData.role
);
Run Code Online (Sandbox Code Playgroud)
getUser() {
if (this.sql) {
return this.sql.get('user').then(value => value);
} else {
return new Promise(resolve => resolve(this.storage.get('user').then(value => value)));
}
}
addUser(employeeCode, password, role) {
let item = { employeeCode: employeeCode, password: password, role: role };
if (this.sql) {
this.sql.set('user', JSON.stringify(item)).then(data => {
this.events.publish('userObj:changed');
});
} else {
return new Promise(resolve => {
this.storage.set('user', JSON.stringify(item)).then(() => {
this.events.publish('userObj:changed');
resolve();
});
});
}
}
Run Code Online (Sandbox Code Playgroud)
providers: [
{ provide: ErrorHandler, useClass: IonicErrorHandler },
AuthService,
SqlStorage,
UserSettings,
Storage
]
Run Code Online (Sandbox Code Playgroud)
提前致谢.
问题解决了
在ngAfterViewInit中调用sqlite操作后,它工作正常.
ngAfterViewInit() {
this.storage.get('user').then((user: any) => {
if (user) {
this.userCredentials = JSON.parse(user);
this.nav.setRoot(HomePage, this.userCredentials);
}
else {
this.rootPage = LoginPage;
}
});
}
Run Code Online (Sandbox Code Playgroud)
[来源](https://github.com/driftyco/ionic-conference-app/blob/master/src/pages/account/account.ts)
干杯:)
| 归档时间: |
|
| 查看次数: |
1520 次 |
| 最近记录: |