AngularJS获得下一个州

时间:2015-09-24 15:14:16

标签: angularjs ionic-framework

我正面临着一个问题,我不知道如何解决它。

问题是我需要从/ login转到/ app / settings而没有登录。

问题是当我输入/ app它检查它是否已记录...如何获得im路由的下一个状态?

app.js

.state('app', {
    url: "/app",
    abstract: true,
    templateUrl     : "templates/menu.html",
    controller      : 'AppCtrl',
    onEnter: function($state, Auth){
        console.log($state.toState,"toState")
        if(!Auth.isLoggedIn()){
           $state.go('login');
        }
    }
  })

.state('login', {
    url: "/login",
    templateUrl     : "templates/session/login.html",
    controller      : 'SessionCtrl'
  })

的login.html:

<button ui-sref="app.settings({toState: 'app.config'})" class="button icon ion-ios-information-outline"></button>

如何获得app.settings路线?

1 个答案:

答案 0 :(得分:2)

您可以添加一个隐藏参数,即auth是可选的。

.state('app', {
    url: "/app",
    abstract: true,
    templateUrl     : "templates/menu.html",
    controller      : 'AppCtrl',
    params: {
        ignore: false
    },
    onEnter: function($state, $stateParams, Auth){
        if(!$stateParams.ignore && !Auth.isLoggedIn()){
           $state.go('login');
        }
      }
  })

然后你设置这个隐藏的参数

<button ui-sref="app.settings({toState: 'app.config'})" ui-sref-opts="{ignore:true}" class="button icon ion-ios-information-outline"></button>