Если Var на хранилище не показывает вкладки - PullRequest
0 голосов
/ 05 мая 2018

Я хочу, чтобы мое приложение проверяло, находится ли переменная "myAccount" в собственном хранилище для отображения вкладок, или нет, я использовал ionViewCanEnter, чтобы проверить, присутствует ли переменная myAccount в локальном хранилище, если ее нет isConnected будет установлено в false, если его isConnected будет установлено в true вот мой код:

tabs.ts:

import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { HomePage } from '../home/home';
import { NativeStorage } from '@ionic-native/native-storage';
import { MyaccountPage } from '../myaccount/myaccount';
/**
 * Generated class for the TabsPage page.
 *
 * See https://ionicframework.com/docs/components/#navigation for more info on
 * Ionic pages and navigation.
 */

@IonicPage()
@Component({
  selector: 'page-tabs',
  templateUrl: 'tabs.html',
})
export class TabsPage {
  public isConnected: Boolean= true;

  homeRoot = HomePage;
  myAccountRoot = MyaccountPage;
  rootPage = HomePage;

  constructor(public navCtrl: NavController, public navParams: NavParams, private nativeStorage: NativeStorage) {

  }



  ionViewCanEnter(){
    this.nativeStorage.getItem('myAccount')
    .then(
       //data => this.isConnected=false,
     // error => this.isConnected=true
      data => this.isConnected=true,
      error => this.isConnected=false
    );
  }
  logout(){
    this.nativeStorage.remove('myAccount');
    this.isConnected=false;
  }

}

Если isConnected имеет значение true, он будет отображать вкладки с HomePage как selectedIndex с видимыми вкладками, если это не так, он покажет HomePage без вкладок

tabs.html:

<ion-tabs selectedIndex="0" *ngIf="isConnected" class="tabs-icon-top tabs-color-active-positive">
  <ion-tab [root]="homeRoot"  tabIcon="home"> </ion-tab>
  <ion-tab [root]="myAccountRoot"  tabIcon="person"></ion-tab>
  <ion-tab [root]="myAccountRoot"  tabIcon="chatbubbles"></ion-tab>
  <ion-tab (ionSelect)="logout()"  tabIcon="power"></ion-tab>


</ion-tabs>
<ion-nav [root]="rootPage" *ngIf="!isConnected">{{isConnected}}</ion-nav>

Проблема в том, что он не работает полностью, когда myAccount добавлен в хранилище, вкладки не отображаются, но если я выйду из приложения и перезапущу его, они появятся

1 Ответ

0 голосов
/ 17 мая 2018

использовал ionViewWillEnter, и он работал

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...