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

Switch between views based on some condition

本文关键字:视图 之间 条件      更新时间:2023-09-26

我是angular和ionic的新手,我的应用程序信息如下:我有一个启动屏幕,上面有我的登录页面,然后是主屏幕。现在的问题是,如果用户登录过一次,那么每当应用程序关闭并再次打开时,它都会显示登录屏幕,而应该显示主屏幕。我该如何做到这一点。我尝试过很多解决方案,但都没有奏效。请帮忙。

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('/');  
});  

在登录页面的控制器中,我假设这是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