我有一个 Ionic 2 应用程序在我的 Rails 5 后端进行身份验证。一旦用户被记录,我就会将他的信息存储在本地存储中。因此,一旦用户打开应用程序并且他之前已经登录过,则应跳过登录页面。我正在尝试在我的app.component
设置我的根页面上执行此操作,具体取决于本地存储上是否有有关用户的信息,但storage.get
方法似乎是异步的,因此它在我的检查后执行,所以它总是认为它是错误的。
任何想法我该如何解决这个问题?
从存储中获取值后,可以像这样设置根页面:
@Component({
templateUrl: 'app.html'
})
export class MyApp {
@ViewChild(Nav) navCtrl: Nav;
public rootPage; // Just declare the property, don't set a value here
constructor(...) {
this.platform.ready().then(() => {
Splashscreen.hide();
// Get the status from the storage
this.storage.get('login:status').then(loggedIn => {
this.rootPage = loggedIn ? HomePage : LoginPage;
});
});
}
}
在这种情况下,如果用户已登录,则根页面将是主页,如果未登录,则为登录页面。