根据某些条件在视图之间切换

时间:2016-05-19 11:29:22

标签: javascript ionic-framework

我是角度和离子的新手,我的应用信息是这样的:我有一个启动画面,我有我的登录页面,然后是主屏幕。现在问题是如果用户已登录一次,那么每当应用程序关闭并再次打开它显示登录屏幕,而不是它应显示主屏幕。我如何实现这一目标。我尝试了很多解决方案,但没有一个能够解决问题。请帮助。

var kit = angular.module('starter', ['ionic','ionic.service.core', 'ngCordova']);  
kit.config(function($stateProvider, $urlRouterProvider) {  

  $stateProvider  
    .state('start', {  
      url: '/',  
      templateUrl: 'templates/start.html',  
      controller: 'StartController'  
    })  
    .state('home', {  
      url: '/home',  
      templateUrl: 'templates/home.html',  
      controller: 'HomeController'  
    })  
    .state('scrollView', {  
      url: '/scroll',  
      templateUrl: 'templates/ScrollEx.html',  
      controller: 'ScrollExController'  
    })  
    .state('check', {  
      url: '/check',  
      templateUrl: 'templates/check.html',  
      controller: 'CheckController'  
    })  
 $urlRouterProvider.otherwise('/');  

});  

1 个答案:

答案 0 :(得分:0)

在登录页面的控制器中,我认为这是StartController,您可以使用以下内容:

// Note you need $location for navigation here:
app.controller('StartController', ['$rootScope', '$scope', '$location', /*...*/
    function ($rootScope, $scope, $location /*...*/) {

        // Test condition, just an example:
        if (sessionStorage.user.id) {
            $location.path('/home');
        }

        // Controller code goes here
    });

假设您的条件为sessionStorage.user.id。 Angular的$ location将为您优雅地处理路由器导航。

来源AngularJS: $location