2015-01-12 5 views
1

각도로 특정 클래스의 요소 목록을 반복하려고 시도하지만 Im은 잘못된 방향으로 진행한다고 생각합니다.angularjs, foreach에서는 a가 정의되지 않았습니다.

임 지금은 나중에 호출되는 함수에서이 코드는

... 그래서 나는 tag_selected 클래스를 추가하는 그들의 몇 가지를 클릭 오류 a is undefined

<div class="add-filter-tags" data-filter="{{filter.filter_type}}" ng-class="{'tag_selected' : tag_selected }" ng-repeat="filter in filters" ng-click="tag_selected = !tag_selected;">{{filter.filter_type}}</div> 

을 받고 ..

angular.forEach(document.querySelector('.tag_selected')), function(value, key){ 
     window.alert('test'); 
} 

그러면 오류가 발생합니다.

나는 이것이 일반적인 질문 일 뿐이라고 생각한다. angularjs의 클래스를 사용하여 요소를 반복하는 방법은 무엇인가? ForEach에 대한 문서는 상당히 작으며 미리 선언 된 배열을 나타냅니다.

+3

는 대신 매개 변수로에 익명 함수를 전달하는 귀하 대해 forEach를 폐쇄했습니다'angular.forEach <- 추가 parenthesis'은 실제 코드인가요 (document.querySelector() 'tag_selected.') ? – CodingIntrigue

+0

오 이런! 덕분에 바보 같이 느껴졌다. 고마워. 내가 고쳐서 고쳤다. 유일한 문제는 여러 개의 'tag_selected'클래스가 있더라도 하나의 'test'에게 경고한다는 것이다. – Adrian

+2

여러 객체에 대해 'querySelectorAll'이 필요하다. 'querySelector' 만 처음으로 꺼내겠습니다 – CodingIntrigue

답변

2
angular.forEach(document.querySelectorAll('.tag_selected'), function(value, key) { 
    window.alert('test'); 
}); 
+1

이 코드가 질문에 어떻게 대답하는지 설명해주십시오. – rfornal

+0

angular forEach 루프에는 항목 목록에 대한 두 개의 인수가 있고 다른 인수에는 각 항목에 대해 호출 할 콜백 함수가 있습니다. 이전에는 각도 for 루프가 첫 번째 인수 자체에서 닫힙니다. –

관련 문제