2016-02-22 17 views
5

Sto provando a creare una pagina di accesso in ionic per app mobile dove dopo che l'utente ha inserito alcuni ID e password, passerà ad un'altra pagina. Cerco di utilizzare lo stato.go e location.path ma non funziona. Ecco il codice:Come navigare verso un'altra pagina dopo una conferma di apertura ionica

angular.module('app.controllers', ['ionic','ui.router']) 
    .controller('loginCtrl', function($scope, $ionicPopup, $state) { 
    $scope.data ={}; 
    $scope.submitData = function(){ 

    if($scope.data.email && $scope.data.password){ 
     var alertPopup = $ionicPopup.alert({ 
      title: "Login Succesful", 
      template: "Welcome Back " 
     }); 
     $state.go('stateHome'); 
    }else{ 

     var alertPopup = $ionicPopup.alert({ 
      title: "Login Failed", 
      template: "Please check your credentials" 
     }); 
    } 
    } 
    }) 
    app.config(function($stateProvider, $urlRouterProvider) { 
     $stateProvider 
     .state('stateHome', { 
     url: '/Home', 
     views: { 
     'Home' :{ 
     templateUrl : "templates/Home.html", 
     controller : 'HomeCtrl' 

     } 
     } 
    }); 

     $urlRouterProvider.otherwise('/Setting'); 


    }) 

miei app.js contengono:

angular.module('app', ['ionic', 'app.controllers', 'app.routes', 'app.services', 'app.directives']) 

    .run(function($ionicPlatform) { 
    $ionicPlatform.ready(function() { 
    // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard 
    // for form inputs) 
    if(window.cordova && window.cordova.plugins.Keyboard) { 
    cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); 
    } 
    if(window.StatusBar) { 
    // org.apache.cordova.statusbar required 
    StatusBar.styleDefault(); 
    } 
    }); 
    }) 

alcuna idea di come risolvere questo?

risposta

2

Provare a modificare i file come segue. Dovrebbe funzionare. Posso elaborare se lo trovi confuso.

app.js

angular.module('app', ['ionic', 'app.controllers', 'app.routes', 'app.services', 'app.directives']) 

.run(function($ionicPlatform) { 
    $ionicPlatform.ready(function() { 
    // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard 
    // for form inputs) 
     if(window.cordova && window.cordova.plugins.Keyboard) { 
      cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); 
     } 
     if(window.StatusBar) { 
     // org.apache.cordova.statusbar required 
      StatusBar.styleDefault(); 
     } 
    }); 
}) 

.config(function($stateProvider, $urlRouterProvider){ 

    $stateProvider 

    .state('stateHome', { 
     url: '/Home', 
     templateUrl: 'templates/Home.html', 
     controller: 'HomeCtrl' 
    }) 

$urlRouterProvider.otherwise('/Setting'); 
}) 

controllers.js

angular.module('app.controllers', []) 

.controller('loginCtrl', function($scope, $ionicPopup, $state, $location) { 

    $scope.data ={}; 
    $scope.submitData = function(){ 

    $scope.goToHomePage = function() { 
     $location.path("/Home"); 
    }; 

     if($scope.data.email && $scope.data.password){ 
     var alertPopup = $ionicPopup.alert({ 
      title: "Login Succesful", 
      template: "Welcome Back " 
     });  
     alertPopup.then(function(res) { 
      if(res) { 
       $scope.goToHomePage(); 
      } else { 
       console.log('Do something else'); 
      } 
      }); 

     }else{ 

      var alertPopup = $ionicPopup.alert({ 
       title: "Login Failed", 
       template: "Please check your credentials" 
      }); 
     } 
     } 
    }) 
+0

devo provare la tua proposta, ma ancora, dopo vado alla pagina di login e mettere email e password, il pop up 'login riuscito 'viene eseguito ma la pagina è ancora nella pagina di login invece della Home page, nessuna idea della parte che potrebbe mancare? – LearningDummy

+0

Penso di vedere il tuo problema. Come appare la struttura della tua directory? Hai un app.js? E se sì, puoi postarlo? Posso vedere che questa riga in poi -> 'app.config (function ($ stateProvider, $ urlRouterProvider)' sembra fuori posto, a meno che non li abbiate incollati sotto il controller per questo post. –

+0

La mia struttura di directory assomiglia a quella comune quali sono gli appname e poi dentro ho i plugin per gli hooks www, all'interno di www è js, img, lib, template e così via. Fondamentalmente è esattamente la cosa che otteniamo quando la scarichiamo tramite CLI da creator ionic. – LearningDummy

Problemi correlati