Я поднял аналогичный вопрос два дня назад, но на этот раз я получаю ту же ошибку, когда запускаю код в реальном устройстве или симуляторе. На обычном браузере работает нормально.

Вот мой код app.component.ts:

import { Component, ViewChild } from '@angular/core';
import { Platform } from 'ionic-angular';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
import { HomePage } from '../pages/home/home';
import { LoginPage } from '../pages/login/login';
import {NativeStorage} from '@ionic-native/native-storage';
import { NavController } from 'ionic-angular';

@Component({
  templateUrl: 'app.html'
})

export class MyApp {
  rootPage:any = LoginPage;
  @ViewChild('navApp') nav : NavController;
  constructor(platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen, private nativeStorage: NativeStorage,) {
    platform.ready().then(() => {
         this.nativeStorage.getItem('userExists').then((data)=>{
         this.nav.push(HomePage);
        console.log(data.userExists);
       },(error)=>{
        console.log("No Data in Local Storage");
            this.nav.push(LoginPage);
      })

      statusBar.styleDefault();
      splashScreen.hide();
    });
  }

}

Это мой app.html

<ion-nav #navApp [root]="rootPage"></ion-nav>

Это моя версия информации

global packages:

    @ionic/cli-utils : 1.2.0
    Cordova CLI      : 7.0.1
    Ionic CLI        : 3.2.0

local packages:

    @ionic/app-scripts              : 1.3.7
    @ionic/cli-plugin-cordova       : 1.2.1
    @ionic/cli-plugin-ionic-angular : 1.2.0
    Cordova Platforms               : android 6.2.3
    Ionic Framework                 : ionic-angular 3.2.1

System:

    Node       : v6.10.2
    OS         : Windows 10
    Xcode      : not installed
    ios-deploy : not installed
    ios-sim    : not installed

Package.json :

{
    "name": "myapp",
    "version": "0.0.1",
    "author": "Ionic Framework",
    "homepage": "http://ionicframework.com/",
    "private": true,
    "scripts": {
        "clean": "ionic-app-scripts clean",
        "build": "ionic-app-scripts build",
        "lint": "ionic-app-scripts lint",
        "ionic:build": "ionic-app-scripts build",
        "ionic:serve": "ionic-app-scripts serve"
    },
    "dependencies": {
        "@angular/common": "4.1.0",
        "@angular/compiler": "4.1.0",
        "@angular/compiler-cli": "4.1.0",
        "@angular/core": "4.1.0",
        "@angular/forms": "4.1.0",
        "@angular/http": "4.1.0",
        "@angular/platform-browser": "4.1.0",
        "@angular/platform-browser-dynamic": "4.1.0",
        "@ionic-native/core": "3.7.0",
        "@ionic-native/facebook": "^3.10.2",
        "@ionic-native/native-storage": "^3.10.3",
        "@ionic-native/splash-screen": "3.7.0",
        "@ionic-native/status-bar": "3.7.0",
        "@ionic/storage": "2.0.1",
        "cordova-android": "^6.2.3",
        "cordova-plugin-console": "^1.0.5",
        "cordova-plugin-device": "^1.1.4",
        "cordova-plugin-facebook4": "^1.9.0",
        "cordova-plugin-nativestorage": "^2.2.2",
        "cordova-plugin-splashscreen": "^4.0.3",
        "cordova-plugin-statusbar": "^2.2.2",
        "cordova-plugin-whitelist": "^1.3.1",
        "ionic-angular": "3.2.1",
        "ionic-native": "^2.5.1",
        "ionic-plugin-keyboard": "^2.2.1",
        "ionicons": "3.0.0",
        "rxjs": "5.1.1",
        "sw-toolbox": "3.6.0",
        "zone.js": "0.8.10"
    },
    "devDependencies": {
        "@ionic/app-scripts": "1.3.7",
        "@ionic/cli-plugin-cordova": "^1.2.1",
        "@ionic/cli-plugin-ionic-angular": "^1.2.0",
        "typescript": "2.2.1"
    },
    "description": "An Ionic project",
    "cordova": {
        "plugins": {
            "cordova-plugin-console": {},
            "cordova-plugin-device": {},
            "cordova-plugin-splashscreen": {},
            "cordova-plugin-statusbar": {},
            "cordova-plugin-whitelist": {},
            "ionic-plugin-keyboard": {},
            "cordova-plugin-facebook4": {
                "APP_ID": "305938313175123",
                "APP_NAME": "myapp"
            },
            "cordova-plugin-nativestorage": {}
        },
        "platforms": [
            "android"
        ]
    }
}
0
Arun- 28 Май 2017 в 17:39

2 ответа

Лучший ответ

Обновление до последней ионной версии 3.3.0 решило проблему!

1
Arun- 28 Май 2017 в 16:23

Почему бы вам просто не изменить значение корневой страницы вместо того, чтобы делать толчок?

У вас есть переменная

rootPage:any = LoginPage; 

Поэтому по умолчанию вашей домашней страницей будет LoginPage. Когда вы проверяете в вашем localalstorage, существует ли псевдоним, вместо нажатия на страницу, используйте

this.rootPage = NameofYourPageHere. 

Это должно работать.

0
Bhargav Rao 28 Май 2017 в 19:22