2014-11-07 260 views
1

jQuery 템플릿 플러그인 (jquery.tmpl.min.js - v 1.0.0pre)을 사용하고 있습니다. 내 샘플 응답 객체는 다음과 같습니다 : 내 템플릿에서동적 값을 사용하는 jQuery 템플릿의 변수 사용

{ 
    "statusCode": "SUCCESS", 
    "responseMessage": null, 
    "response": [ 
     { 
      "id": 92, 
      "messageRead": false, 
      "importance": null, 
      "message": { 
       "id": 86, 
       "createdDate": 1414393557000, 
       "messageType": "TESTTYPE", 
       "subject": "test sub", 
       "message": "test item", 
       "fromOrg": 3, 
       "accessCode": 2, 
       "fromUserId": 1, 
       "users": null, 
       "read": false, 
       "fromOrganizationName": null, 
       "messageAttachment": [ 
        { 
         "id": 5, 
         "createdDate": 1414393816000, 
         "name": "README" 
        } 
       ] 
      } 
     } 
    ] 
} 

messageAttachment 배열을 반복하면서, 나는 {{each messageAttachment}} 루프 내에서 fromOrg 액세스해야합니다.

{{if message.messageAttachment.length > 0 }} 
    {{each message.messageAttachment}} 
     \${name} <br/> 
     ---- I need value of fromOrg here--- 
    {{/each}} 
{{/if}} 

어떻게하면됩니까? 내 걸릴이 배열에 루프 messageAttachment 루프 전에 변수를 선언하고 루프 내에서 해당 변수를 사용하는 것입니다. 나는이 SO 참조 :

Can I declare local/temp variables within a jQuery template?

내가 대신 SOMETTHING의 런타임 값을 할당 ${($data.localVariable = 'SOMETHING'),''}하지만없는이를 사용했습니다.

다른 방법도 있습니다. 공유하십시오. 모든 포인터가 감사하겠습니다. TIA.

+2

어, 그게'message.fromOrg' 일 뿐이며,'messageAttachment' 배열 안에'fromOrg'가 없으므로 루프에서 변경되지 않습니다. – adeneo

+0

오, 그걸 시험 해보려하지 않았어. 그것은 완벽하게 작동합니다. 감사! –

+0

@adeneo - 그러나 런타임 값을 localVariable에 할당 할 수있는 방법이 있습니까? '$ {($ data.localVariable = message.fromOrg) '와 같이'$ {($ data.localVariable ='SOMETHING '),' '}'와 같이'SOMETHING' 대신에' –

답변

0

@adeneo에서 제안한대로 fromOrg 내부에 messageAttachment 배열이 없으므로 직접 message.fromOrg으로 액세스 할 수 있습니다.