页面卡在徽标上

时间:2016-10-05 12:04:17

标签: javascript angularjs ionic-framework ionic2

按下注销按钮或添加此代码时会出现问题:

 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="";
  }
}

1 个答案:

答案 0 :(得分:0)

我找到了解决方案而且它不再卡住了...... 我删除了所有本地(存储变量),然后我定义了存储:存储在我的构造函数中,我将它用作离子2更改日志解释为storage.get(key)。