我正在使用 ui-router 1.0.0-alpha.3。 旧事件are deprecated there。
所以我试图转换
$rootScope.$on('$stateChangeStart', (event, toState) => {
//...
});
使用 $ transitions.onStart hook - 进行新的处理方式
$transitions.onStart( {}, function($state, $transition$) {
//...
});
在这种情况下,我可以在哪里获得 toState param?
答案 0 :(得分:18)
使用 $ transition $。$ to()。
$transitions.onStart( {}, function($transition$) {
//stateTo === $transition$.$to();
});
答案 1 :(得分:5)
在新版本
中关注文档,检查Class Transition Methods,toState
旧版本等于$to()
$scope.$on('$stateChangeSuccess', function(evt, toState, toStateParams, fromState) {
var oldToState = toState;
}
$transitions.onSuccess({}, function($transitions){
var newToState = $transitions.$to();
}
来自Interface HookMatchCriteria:
此对象用于配置是否根据转换"到状态"为特定转换调用转换挂钩。和#34;来自州"。
希望这有帮助!
答案 2 :(得分:1)
$transitions.onSuccess({ }, function(trans) {
stateChangeSuccessCallBack(**trans.$to().self**, trans.params('to'));
});
trans。$ to()。self 这样可以提供$stateChangeSuccess(event, **toState**)
答案 3 :(得分:0)
$transitions.onStart({}, function(transition) {
console.log(transition.params('to').paramname)
})