컨트롤러에 ui 라우터와 함께 $stateChangeStart
을 사용하려고합니다. 해고 될 때마다 나타나는 것처럼 보입니다. 콜백은 마지막 시간보다 +1 시간을 더 많이 발생시킵니다.stateChangeStart 여러 번 트리거
$rootScope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams){
console.log('$stateChangeStart');
});
예를 들어 첫 번째 변경 시작시 console.log
이 한 번 해고됩니다. 두번째로 console.log
두 번 해고 될 것입니다.
나는이 동작을 멈추게 할 것이지만 모든 행동을 멈추게 할 것이고 그것은 나에게 현실적인 해결책이 아닙니다. 나는이 문제를 처리하기 위해 더 지능적인 방법이있을 것 같은 느낌하지만
나는 해결책이 있습니까 :
var stateChangeStarted = false;
$rootScope.$on('$stateChangeStart', function(event){
if(!stateChangeStarted) {
stateChangeStarted = true;
console.log('$stateChangeStart');
}
});
사람이 어떤 이런 일이 왜 생각 나는이를 방지하기 위해 할 수있는 다른 무엇을 가지고 있습니까?
하나의 상태 URL에서 다른 상태 URL로 이동하는 경우이 stateChangeStart는 한 번만 실행됩니다. – duyn9uyen