我有以下情况:
在解决阶段,有时刷新时某些依赖项会失败。虽然在$ rootScopeService上捕获错误并正常处理它,但我需要在早期的一个(在$ exceptionHandler服务的装饰器实现中)知道我在从一个状态转换到另一个状态期间失败了。
$ state服务提供转换,不幸的是,在解析成功后填充,所以我无法使用它。
有没有实施过的东西?
我目前的想法是实现一个额外的服务或装饰$ state服务来跟踪使用go函数或只是通过监听$ state事件来设置值。
是否有任何已实现的逻辑可实现此目的? (我的意思是在图书馆)或者还有其他任何建议吗?
由于
答案 0 :(得分:1)
这可能是一个穷人的解决方案,但你可以使用类似的东西:
$rootScope.$on('$stateChangeStart', function(e, toState, toParams, fromState, fromParams, $rootScope) {
$rootScope.targetState = toState })
$rootScope.$on('$stateChangeSuccess',
function(e, toState, toParams, fromState, fromParams, $rootScope){
$rootScope.targetState = undefined })
然后在您的解析函数中,通过以下内容访问目标状态:
function myResolve($rootScope) {
console.log($rootScope.targetState)
}
我在我的应用程序中工作。状态转换监视在我的应用程序的运行块中实现。