2016-11-25 1 views
0

ng-class이 내 DOM에서 이와 같이 나타납니다. twitteryahoo 속성에 어떻게 액세스 할 수 있습니까?JSON.parse가 객체로 변환하지 못했습니다.

ng-class="{twitter:2 < id , yahoo :2 >id}" 

typeof ng-classobject입니다,하지만 난 elem["ng-class"]["twitter"]처럼 액세스 할 때 작동하지 않습니다.

JSON.parse(obj)도 실패합니다. 당신이 객체가없는이 무엇

Uncaught SyntaxError: Unexpected token t in JSON at position 1

+3

글쎄, 그것은 잘못 된 JSON이기 때문에 'JSON.parse'가 파서를 분석하지 못한다고 놀랍지는 않습니다 ... –

+0

@ T.J.Crowder : 어떻게 트위터 속성에 액세스 할 수 있습니까? – Shane

+1

아마도 원하는 것을 성취 할 수있는 또 다른 방법이있을 것입니다. 조건부 수업에서 '트위터'와 '야후'에 액세스하려는 이유를 설명하면 ** 우리는 아마도 더 나은 선택권을 줄 수 있습니다. –

답변

3

은, 그것은 ngClass directive 조건문 한 쌍의 : 2 < id이 참 twitter 경우 클래스가됩니다 요소, 그리고 (2 > id이 참 yahoo 경우 클래스를해야합니다 그것 id == 2 일 경우 둘 중 하나를 가지지 않습니다.

개체가 아니기 때문에 액세스 할 수있는 속성이 없습니다. 이 같은 객체의 값에 대한

+0

typeof ng-class = "{twitter : 2 id}"는 저에게 객체를줍니다. 여기에 twitter 속성에 액세스하는 방법이 있습니다. – Shane

+0

@Shane :'typeof ng-class'가 무엇을 의미하는지 모르겠습니다. 나는 당신이 그것을 쓸 수 있고 그것이 유효한 코드가 될 수있는 어떤 컨텍스트를 상상할 수 없습니다. 아마도이 질문에서 [mcve]가 도움이 될 것입니다. –

+0

typeof "{twitter : 2 id}"는 문자열 대신 객체를 반환합니다. 여기는 수수께끼입니다. http://jsfiddle.net/9wg1trx1/1/ – Shane

0

추가하십시오 시세 및 () : 당신이 를 다시 볼 수 없습니다 이번 업데이트

ng-class="{'twitter': (2 < id), 'yahoo': (2 >id)}" 

! 각도에서 해석하면이 Plunkr

에서 볼 수 있듯이 예상대로

+0

코드 전용 답변은 도움이되지 않습니다. 당신이 무엇을했는지, 어떻게/왜 그것이 문제를 해결하는지 설명하십시오. –

+0

또한 이것은 문제 또는 질문과 관련이 없습니다. 완전히 불필요하며 아무것도 바꿀 수 없습니다. –

0

작품, ngClass는 class 요소 속성 클래스 값을 할당합니다.

when i try to access it like elem["ng-class"]["twitter"] does not work.

DOM 요소에 "twitter"클래스가 있는지 확인하려면 DOM을 쿼리하여 확인하십시오.

관련 문제