2016-09-07 4 views
0

Ich möchte überprüfen, ob ein Benutzer angemeldet ist, für die Umleitung zu einer anderen Seite, wenn es keinen Benutzer gibt, möchte ich auf die HomePage umleiten. Die Homepage hat einen Controller namens storeCtrl.Einstellung mehrerer Controller in einem Zustand, IONIC

Ich habe versucht, dieses:

.state('homePage', 
    { 
     url: '/homePage', 
     templateUrl: 'templates/homePage/homePage.html', 
     controller:'storeCtrl', 
     function ($localStorage,$state) { 
     if ($localStorage.user) { 
      $state.go('tabs.profile'); 
      } else { 
      $state.go('homePage'); 
      } 
     } 

})

aber es funktioniert nicht. Ich habe versucht, diese auch:

.state('homePage', 
    { 
     url: '/homePage', 
     templateUrl: 'templates/homePage/homePage.html', 
     controller: 
     function ($localStorage,$state) { 
     if ($localStorage.user) { 
      $state.go('tabs.profile'); 
      } else { 
      $state.go('homePage'), 
      controller:storeCtrl 

      } 
     } 

})

aber das auch nicht funktioniert.

Antwort

0

anstatt es in den Zustand zu setzen. versuchen, dies zu addieren innen app.run

app.run(function($ionicPlatform,$state,$rootScope,$localStorage) { 
    $ionicPlatform.ready(function() { 
    //your code 
    }) 
     $rootScope.$on('$stateChangeStart', function (event,next, nextParams, fromState,fromParams) { 
     var nextScreen=next.name; 
     if (nextScreen!="homePage" && $localStorage.user===undefined) { 
     event.preventDefault(); 
     $state.go('homePage'); 
     return; 
     } 
    }); 
}) 
+0

, die einen Auslöser Range wirft: Maximale Call-Stack Größe Fehler – noor

+0

Maximale Call-Stack-Größe nur kommen wird überschritten, wenn es eine Schleife ist .. dass, wenn die jedes Mal auf Wurzel ändere es in den if-Block. Probieren Sie ein Debugging aus. Auch ich fügte eine Rückkehr nach state.go hinzu –

+0

ich versuchte das, es gibt keinen Fehler zurück, aber es funktioniert nicht. Ich habe mich angemeldet und der Benutzer wurde gespeichert, aber wenn ich die Seite aktualisiere, wird sogar der Benutzer immer noch gespeichert, es leitet immer noch auf die Homepage statt der Profilseite – noor

Verwandte Themen