2014-12-25 7 views
0

클릭 할 때마다 테이블 행의 색상을 토글해야하는 onClick (angular.js ng-click 사용)이 있습니다.토글! 연산자가 페이지로드에서 작동하지 않습니다. JavaScript

이것은 초기 구현입니다.

<tr> 
     <td ng-class="{'setType': types.isTypeSet('TYPE') == true}" ng-click="types.setType('TYPE')"> 

      <img class="typebox-img" src=""> 
      <div class="typebox">TYPE</div> 

     </td> 
    </tr> 

여기서 'type'은 테이블 행의 유형이고 'types'는 각도 조절기입니다.

types.setType (타입) :

... 
this.types[type] = ! this.types[type]; 
... 

이 두 번째 행 값 클릭 전환하면서, 제 클릭의 값을 변경 그다지. if-else 문을 사용하여 기능을 구현했지만 수행 할 수없는 이유가 무엇인지 파악할 수 없습니다.

this.types [유형]은 기본값으로 false로 설정됩니다. 이런 일이 왜

누군가 설명해 주시겠습니까 ..

+0

그것은 당신이 이런 식으로 코드를 제공 할 때 문제를 발견하기 어렵다. (실제 코드와 의사 코드 사이의 무언가) 문제가 여전히 재생성 가능한 최소한의 예제를 만들어보십시오. – wvdz

답변

2

그것은이 작동하지 않는 나를 놀라게하지 않습니다

ng-click='types.setType('type') 
파서가 이해할 수 있도록 내부 따옴표

사용 " 무엇 '(약 또는 다른 방법)을하려고 다시 :

ng-click='types.setType("type")' 

이 덧붙여,이 작업을 수행하는 함수를 필요가 없습니다.

$scope.toggle = true 

을 그리고 다음과 같이보기에 사용 : 그냥 컨트롤러에서 부울을 초기화

ng-click='toggle = !toggle'