jva*_*ooy 29 javascript angularjs angular-ui-router
我的应用的目标网页有两种状态:home-public,home-logged-in.现在我想在同一个URL上显示两个状态,但让控制器和模板依赖于用户会话(用户是否登录?).
有没有办法实现这个目标?
Moh*_*and 51
你可以有一个基本状态来控制要加载的状态,你可以简单地让那个基本状态的孩子没有url:
.state('home', {
url: "/home",
templateUrl: "....",
controller: function($scope,$state,authSvc) {
if(authSvc.userIsLoggedIn()){
$state.go('home.loggedin')
}else{
$state.go('home.public')
}
}
})
.state('home.public', {
url: "",
templateUrl: "....",
controller: function($scope) {
...........
}
})
.state('home.loggedin', {
url: "",
templateUrl: "....",
controller: function($scope) {
...........
}
})
Run Code Online (Sandbox Code Playgroud)
现在,在基本状态(home)的控制器中,您可以检查用户是否已登录,并用于$state.go()加载适当的状态.
编辑
按照承诺,一个工作插件.
| 归档时间: |
|
| 查看次数: |
16788 次 |
| 最近记录: |