我是angularjs的新手,使用angularjs1.6.4版本和angular-ui-router版本1.0.3。我已经看到很多帖子使用$stateChangeSuccess
获得了之前的状态,但是这个事件在ui-router版本1.0.0 (reference from here)之上已被弃用,所以为此我必须使用$ transitions.onSuccess但我不要得到它如何获得以前的状态。到目前为止,我已经写了这个,并在状态改变时显示消息“stateChange success”。但我需要一些例子来继续前进。
App.js:
.run(function ($transitions) {
$transitions.onSuccess({}, function () {
console.log("statechange success");
});
答案 0 :(得分:1)
这就是我想要的。使用$ transitions.onSuccess而不是$ stateChangeSuccess返回到先前状态的示例
.run(function ($transitions, $state) {
var previousState;
var previousStateParameters;
$transitions.onSuccess({}, function (transition) {
previousState = transition.from().name;
previousStateParameters = transition.params('from');
});
$transitions.back = function () {
$state.go(previousState, previousStateParameters, { reload: true });
}
});