簡體   English   中英

重定向到angularjs中的另一個視圖

[英]Redirect to another view in angularjs

當用戶登錄時,如果存在令牌,則在localstorage中設置一個令牌,它將進入博客頁面,否則將啟動登錄頁面。

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

    .state('app', {
    url: '/app',
    abstract: true,
    templateUrl: 'templates/menu.html',
    controller: 'AppCtrl'
  })
  .state('app.login', {
      url: '/login',
      views: {
        'menuContent': {
          templateUrl: 'templates/login.html',
          controller:'LoginCtrl'
        }
      }
    })
.state('app.blog', {
    url: '/blog',
    views: {
      'menuContent': {
        templateUrl: 'templates/blog.html',
        controller: 'PlaylistCtrl'
      }
    }
  })

  //if token null got login
     if(window.localStorage.getItem('usertoken')==null){
      $urlRouterProvider.otherwise('/app/login');
     }else{
       //go to blog
       alert('logged');
       $urlRouterProvider.otherwise('/app/blog');
     }

});

我將收到alert('logged')但不會進入blog視圖,而是進入login視圖

您可以進行中間視圖。 想象一下dashboard.html

<ion-view >
  <ion-content>
  </ion-content>
</ion-view>

讓你否則去那里

$urlRouterProvider.otherwise('/app/dashboard');

並在此控制器中進行稱贊

.controller('DashboardCtrl', function($rootScope, $state) {

if(window.localStorage.getItem('usertoken')==null){
      $state.go('/app/login');
     }else{
       //go to blog
       alert('logged');
       $state.go('/app/blog');
     }
});

嘗試這個

$urlRouterProvider.otherwise(window.localStorage.getItem('usertoken')==null ? '/app/login' : '/app/blog');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM