有没有办法检测重载:在控制器中是真的吗?

时间:2015-04-23 10:08:33

标签: angularjs angular-ui-router

点击一下,我就强行重新加载一个州。我想知道是否有可能在控制器中捕获该事件?我的观点是由两个子视图组成的,我需要一个子视图来初始化它的值。

由于

1 个答案:

答案 0 :(得分:1)

看起来ui-route没有公开这些信息。这是一个想法。听取$ stateChangeSuccess事件(或$ stateChangeStart,具体取决于您的情况)。在这种情况下,您可以将State和toParams与fromState和fromParams进行比较,以推断这是重新加载。

$scope.$on('$stateChangeSuccess',
    function (event, toState, toParams, fromState, fromParams) {
        if (angular.equals(toState, fromState) && angular.equals(toParams, fromParams)) {
            console.log('reload');
        }
        else {
            console.log('not a reload');
        }
    }
);