按下注销按钮或添加此代码时会出现问题:
this.local = new Storage();
this.local.get('token').then((value)=>{
this.token=value;
});
页面卡住,需要重新启动Chrome浏览器。我正在尝试做的是在按下logout时从存储中获取令牌变量以删除该令牌。
页面:
import { Component, ViewChild } from '@angular/core';
import { Nav, Platform } from 'ionic-angular';
import { StatusBar } from 'ionic-native';
import { Storage } from '@ionic/storage';
import { Page2 } from '../pages/page2/page2';
import {Admin} from "../pages/admin/admin";
import {Page1} from "../pages/page1/page1";
@Component({
templateUrl: 'app.html',
})
export class MyApp {
@ViewChild(Nav) nav: Nav;
rootPage: any = Page1;
token:any;
pages: Array<{title: string, component: any}>;
public local : Storage;
constructor(public platform: Platform,public storage:Storage) {
this.initializeApp();
this.local = new Storage();
this.local.get('token').then((value)=>{
this.token=value;
});
// used for an example of ngFor and navigation
this.pages = [
{ title: 'Page one', component: Page1 },
{ title: 'Page Two', component: Page2 },
{ title: 'Admin', component: Admin }
];
}
initializeApp() {
this.platform.ready().then(() => {
// Okay, so the platform is ready and our plugins are available.
// Here you can do any higher level native things you might need.
StatusBar.styleDefault();
});
}
openPage(page) {
// Reset the content nav to have just this page
// we wouldn't want the back button to show in this scenario
this.nav.setRoot(page.component);
}
Logout() {
console.log("logout check");
this.local.remove('username');
this.local.remove('token');
this.nav.setRoot(Page1);
this.token="";
}
}
答案 0 :(得分:0)
我找到了解决方案而且它不再卡住了...... 我删除了所有本地(存储变量),然后我定义了存储:存储在我的构造函数中,我将它用作离子2更改日志解释为storage.get(key)。