Javascript 获取转换信息
我有以下情况: 在解析阶段,有时刷新时某些依赖项会失败。在捕获$rootScopeService上的错误并优雅地处理它的同时,我需要在前面的一个例子中(在$exceptionHandler服务的decorator实现中)知道我在从一个状态转换到另一个状态的过程中失败了 $state服务提供转换,不幸的是,转换在解析成功后被填充,所以我不能使用它 有什么已经实施了吗 我目前的想法是实现一个附加服务或装饰$state服务,以便使用go函数进行跟踪,或者通过监听$state事件简单地设置值 是否已经实现了实现这一点的逻辑?(我的意思是在图书馆里)或者对此有其他建议吗Javascript 获取转换信息,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我有以下情况: 在解析阶段,有时刷新时某些依赖项会失败。在捕获$rootScopeService上的错误并优雅地处理它的同时,我需要在前面的一个例子中(在$exceptionHandler服务的decorator实现中)知道我在从一个状态转换到另一个状态的过程中失败了 $state服务提供转换,不幸的是,转换在解析成功后被填充,所以我不能使用它 有什么已经实施了吗 我目前的想法是实现一个附加服务或装饰$state服务,以便使用go函数进行跟踪,或者通过监听$state事件简单地设置值 是否已经实
谢谢这可能是穷人的解决方案,但您可以使用以下方法:
$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)
}
然后在resolve函数中,通过以下方式访问目标状态:
$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)
}
我在我的一个应用程序中使用了这个。状态更改监控在我的应用程序的运行块中实现 如何访问toState参数。编辑答案。这是一个成功,但不完全。这是我已经提出的解决方案。toState不存在,需要进行某种扩展。在任何情况下,答案都有点与问题无关,因为问题本身已经说明了答案。toState不存在于哪里?我刚刚在我的应用程序中使用console.log(toState.name+“start”)和console.log(toState.name+“success”)和console.log(“resolve”)尝试了这一点,所有操作都如预期般正常。我想你的意思是,在resolve中,你无法访问该状态。你的问题并不完全清楚。我已经修改了答案来实现这一点。