2013-01-24 3 views
2

에 나는 동적 키 이름은 Dust.js

<table> 
{#array1} 
<tr> 
    {#array2} 
    <td>{#array1}{object.#dynAttrName#}{/array1}</td> 
    {/array2} 

{/array1} 
</table> 

같은, 내 먼지 템플릿 파일의 동적 키를 호출하는 방법을 찾고 있어요 나는 "object.attribute1 같은에 접근하고 싶습니다 여기서 1은 {array1}에있는 현재 오브젝트의 ID입니다. (array1 [n] .id)

도움 주셔서 감사합니다.

+0

이것은 [먼지 질문] (http://stackoverflow.com/questions/14462903/indirection-in-dust-js/14465766#14465766)과 매우 유사합니다. 슬프게도, 대답은 현재 먼지에서 가능하지 않은 것 같습니다. – smfoote

+0

나는 이것을 보지 못했다. 너무 슬픈 우리는 그것을 할 수 없다, 나는 다른 방법을 찾으려고 노력할 것이다. – al3x

+0

나는 Github repo를 따라갈 것이다. – smfoote

답변

4

그것은 문맥 객체에 도우미 함수를 추가하여 수행 할 수 있습니다

Context 객체 :

{ 
    get: function (chunk, context, bodies, params) { 
     var obj = dust.helpers.tap(params.ofObj, chunk, context); 
     var prop = dust.helpers.tap(params.prop, chunk, context); 
     return chunk.write(obj[prop]); 
    }, 

    a: { 
     b: "bbb" 
    } 
} 

템플릿

{#get prop="b" ofObj=a/} 

당신은 linkedin dust tester이 시도 할 수 있습니다

나는 글로벌 쓰레기 도우미를 정의 할 수 있다고 생각합니다.

+1

이러한 일반적인 사용 사례는 동일한 작업을 수행해야했습니다. 나는 먼지가 내장 도우미 또는 내장 구문으로 이것을 가지지 않는다는 것에 놀랍거나 실망했다. 모든 단순한/기본 js 기능을 기대하는 모든 사람들로부터 낭비되는 모든 시간을 상상해보십시오. – miir