问题是我需要从/ 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路线?
答案 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>