AngularJS:使用$ transition.onSuccess获取以前的状态

时间:2017-06-03 11:00:15

标签: angularjs angular-ui-router

我是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");
    });

1 个答案:

答案 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 });
    }
});