2014-05-15 9 views
3

오브젝트가있는 경우 클래스를 활성화하는 방법. 해당 json 배열을 image_id 해당 특정 배열에 대해 존재하는 경우 클래스를 활성화해야합니다.오브젝트가있는 경우 ng-class 각도 오브젝트

something like ng-if="data.image_id" then class get activated 

<div class="test" ng-class="classonimage:data.image_id"> 
    //showing data 

<div> 

이 클래스 테스트는 활성화되어 있지만 image_id가 있으면 classonimage가 활성화되어 몇 가지 CSS 속성을 수정하지 않습니다.

그래서 여기에 이미지가 포함되어 있다면 이야기를 약간 변경하고 싶습니다. ng-if에서 ng-class를 활성화하려면 어떻게해야합니까? 어떻게이 작업을 수행 할 수 있습니까? data.image_id 정의 여부 및 ngClass에 대한 귀하의 구문을 수정한다

답변

2

시도 :

<div class="test" ng-class="{'classonimage':data.image_id}"><div> 

이 클래스 이름이 포함 된 경우 때문에, ''사이의 클래스 명을 배치하는 것이 중요합니다 - ng-class가 작동하지 않습니다.

바이올린 :이 요소의 클래스를 제어 할 수 http://jsfiddle.net/YwU77/1/

2

확인하는 경우 :

<div class="test" ng-class="{classonimage : data.image_id !== undefined}"></div> 
+0

'! =='은 콘솔에서 오류를 발생시킵니다. 그것은 어느 것과도 같은 트리플을 좋아하지 않는 것 같습니다. 당신은'! ='와'=='을 사용해야합니다 (고정되어 있었는지 확실하지 않았습니다). – callmekatootie

+0

@callmekatootie 더 이상, 오랫동안 지금은 아닙니다! – Blackhole

+0

@Blackhole 클래스 이름이'class-on-image'와 같으면 작동하지 않습니다. – akn

1

사용 ng-class="{classonimage:data.image_id}. data.image_id에 해당하는 경우

당신은 클래스를 볼 수는 (있는 style.css에) 글꼴 크기를 적용 :

다음은 예 plunk이다.