实施 Angular UI 路由器惰性解析
Implementing Angular UI router lazy resolves
我使用 Angular 和 UI 路由器,我需要我的 parent 状态之一是懒惰的。
这样做的原因是我有一个名为 authenticated
的状态,它由 child 状态的整个层次结构继承。我需要延迟解析名为 isAuthenticated
的解析(即每次进入 authenticated
状态的 child)。
这是我的 parent authenticated
状态:
.state('authenticated', {
abstract: true,
parent: 'root',
views: {
'header@': {
controller: 'NavbarCtrl',
templateUrl: 'app/navbar/views/navbar.view.html'
}
},
resolve: {
currentMember: ['domainService', function (domainService) {
return domainService.currentMember();
}],
isAuthenticated: ['$rootScope', '$q', '$cookies', function ($rootScope, $q, $cookies) {
return ($rootScope.globals.authenticated && $cookies.globalsAuthenticated) || $q.reject({unAuthorized: true});
}]
}
})
我想这样做,以便我可以轻松地将未经身份验证的用户重定向到登录页面。
如何使用 UI 路由器 (0.2.15
) 的当前实现进行惰性解析?
P.S。 我看过 oc lazy load,但似乎旨在加载整个模块或文件...
你可以使用 stateChangeStart 它会帮助你做你正在寻找的事情,检查这个 link出来
我使用 Angular 和 UI 路由器,我需要我的 parent 状态之一是懒惰的。
这样做的原因是我有一个名为 authenticated
的状态,它由 child 状态的整个层次结构继承。我需要延迟解析名为 isAuthenticated
的解析(即每次进入 authenticated
状态的 child)。
这是我的 parent authenticated
状态:
.state('authenticated', {
abstract: true,
parent: 'root',
views: {
'header@': {
controller: 'NavbarCtrl',
templateUrl: 'app/navbar/views/navbar.view.html'
}
},
resolve: {
currentMember: ['domainService', function (domainService) {
return domainService.currentMember();
}],
isAuthenticated: ['$rootScope', '$q', '$cookies', function ($rootScope, $q, $cookies) {
return ($rootScope.globals.authenticated && $cookies.globalsAuthenticated) || $q.reject({unAuthorized: true});
}]
}
})
我想这样做,以便我可以轻松地将未经身份验证的用户重定向到登录页面。
如何使用 UI 路由器 (0.2.15
) 的当前实现进行惰性解析?
P.S。 我看过 oc lazy load,但似乎旨在加载整个模块或文件...
你可以使用 stateChangeStart 它会帮助你做你正在寻找的事情,检查这个 link出来