有没有办法在控制器中检测 reload:true ?
Is there a way to detect reload:true in controller?
单击一次,我将强制重新加载状态。我想知道是否有可能在控制器中捕获该事件?我的视图由两个子视图组成,我需要其中一个子视图来初始化它的值。
谢谢
ui-路由似乎没有公开此信息。这是一个想法。收听 $stateChangeSuccess 事件(或 $stateChangeStart,具体取决于您的情况)。在这种情况下,您可以将 toState 和 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');
}
}
);
单击一次,我将强制重新加载状态。我想知道是否有可能在控制器中捕获该事件?我的视图由两个子视图组成,我需要其中一个子视图来初始化它的值。
谢谢
ui-路由似乎没有公开此信息。这是一个想法。收听 $stateChangeSuccess 事件(或 $stateChangeStart,具体取决于您的情况)。在这种情况下,您可以将 toState 和 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');
}
}
);