onSuccess Transition Callback UI-router

时间:2017-05-10 07:37:09

标签: angularjs angular-ui-router

我想在特定状态成功转换后执行某些操作。我有以下路由:

 angular.module('CurrencyModule')
    .config(function ($stateProvider, $urlRouterProvider, $locationProvider) {
        $locationProvider.hashPrefix('');
        $stateProvider
            .state('currency', {
                url: '/currency',
                templateUrl: '/app/currency/page/list.html',
                controller: 'CurrencyListController as listCtrl',
            })
            .state('currency.create', {
                url: '/create',
                templateUrl: '/app/currency/page/create.html',
                controller: 'CurrencyCreateController as createCtrl',
            })
        ;
    })
;

并且在CurrencyCreateController中我有以下内容:

angular.module('CurrencyModule').controller('CurrencyCreateController', CurrencyCreateController);

CurrencyCreateController.$inject = ['$transitions']

function CurrencyCreateController($transitions) {
    var vm = this;

    $transitions.onSuccess({ to: 'currency.create', from: 'currency' }, function(transition) {
        console.log("Open the modal!");
    });
}

然而,它永远不会进入回调?为什么会这样!

谢谢!

1 个答案:

答案 0 :(得分:2)

问题是你需要在CurrencyCreateController初始化之前注册转换钩子。