2014-12-01 2 views
1

안녕하세요 ~ 저는 angularjs 문제가 있습니다.Angularjs 이벤트 재 등록

저는 angularjs evnet 재 등록에 정말로 궁금합니다.

var test = 'test'; 
$rootScope.$emit('event', test); 
var removeEvent = $rootScope.$on('event', function(e,test){ 
    removeEvent(); 
}); 

변수 'removeEvent'가 이벤트 삭제를 수행 중입니다.

이벤트 재 등록을 원합니다.

내가이

var key = 0; 
var test = 'test'; 
$rootScope.$emit('event'+key, test); 
var removeEvent = $rootScope.$on('event'+key, function(e,test){ 
    removeEvent(); 
}); 
key++; 

처럼하려고하지만 내 찾는 움직임이 아니다.

는 내가 재 등록 이벤트가

나에게 방법을 알려 주시기 바랍니다 같은 변수 이름 '이벤트'를 갖고 싶다.

답변

0

질문은 매우 불분명하지만 매번 remove 변수를 덮어 쓰는 것처럼 들립니다. (코드를 우리가 루프에서 발생한다고 가정 할 때) 따라서 배열의 모든 키에 대해 변수를 제거해야합니다.

var removeEvent = []; // outside of loop to avoid resetting it 
// loop starts here 
var key = 0; 
var test = 'test'; 
$rootScope.$emit('event'+key, test); 
removeEvent[key] = $rootScope.$on('event'+key, function(e,test){ 
    removeEvent[key](); 
}); 
key++; 
// loop ends here