$ state.go在$ stateChangeStart中没有按预期工作

时间:2016-01-26 06:31:01

标签: angularjs angular-ui-router

我正在使用$ state.go和$ stateChangeStart。注销后,$ state.go只更改网址而不加载模板。如果我使用$ location.path('/ signin'),它没有问题。此方案仅在注销后发生,但不会在登录之前或之后发生。

angular.module('ma').run(function($rootScope, $location, $state) {
    $rootScope.$on('$stateChangeStart',
        function(event, toState, toParams, fromState, fromParams) {
            if (isNotAuthenticate) {
                event.preventDefault();
                $state.go('signin', {}, {notify: false});
            }
        })
});

1 个答案:

答案 0 :(得分:2)

您正在使用notify:false,因此不会发出任何事件。

只需使用:

$state.go('signin');