【问题标题】:AngularJS: get previous state using $transition.onSuccessAngularJS:使用 $transition.onSuccess 获取先前的状态
【发布时间】:2017-06-03 11:00:14
【问题描述】:

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

【问题讨论】:

标签: angularjs angular-ui-router


【解决方案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 });
    }
});

【讨论】:

    猜你喜欢
    • 2013-05-14
    • 2016-12-02
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    • 1970-01-01
    • 2019-09-30
    • 1970-01-01
    • 2021-10-02
    相关资源
    最近更新 更多