Rya*_*lly 38 angularjs angular-ui angular-ui-router
我无法找到一种合理的方法来解决这个相当微不足道的问题.
我希望访客在访问网站索引时看到启动页面,并且登录用户查看他们的个人资料,每个页面都有自己的模板和控制器.理想情况下,一个url会有两种状态,不知怎的,我可以根据loggin状态自动更改活动状态.这两个视图都有自己的嵌套视图,因此无法使用ng-include(我假设).
我对angular和ui路由器都很陌生,并认为我可能会忽略这个问题的简单解决方案.
可以用命名视图和ng-show完成吗?
Nat*_*ele 53
如果您正在使用UI路由器,只需创建三种状态:根状态,'/'URL和两个没有URL的直接后代状态.在onEnter根状态中,您将检测用户的状态并相应地转换为正确的子状态.这给出了两个子状态保持相同URL的外观,但允许您必须使用单独的配置分离状态.
我的解决方案
angular.module('myApp')
.config(function ($stateProvider) {
$stateProvider
.state('main', {
url: '/',
controller: function (Auth, $state) {
if (someCondition) {
$state.go('state1');
} else {
$state.go('state2');
}
}
});
});
Run Code Online (Sandbox Code Playgroud)
其他地方定义了州1和州2.
| 归档时间: |
|
| 查看次数: |
23199 次 |
| 最近记录: |