2016-07-20 4 views
0

배열 리터럴을 반복하는 데 먼지가 포함될 가능성이 있습니까? 나는 같은 {arr: ["a", "b", "c"]}와 JSON이 있다면배열 리터럴 반복

나는 할 것이다 : 나는 먼지 템플릿에 정의 배열을 할 수있는 방법이

{#arr} 
.... 
{/arr} 

있습니까? 아마도 다음과 같을 것입니다 :

{#["a", "b", "c"]} 
{/?} 

올바른 구문은 아니지만 잘하면 내가하려는 것을 보여줍니다.

답변

1

먼지는 기본적으로이 언어 기능을 포함하지 않습니다. 그렇기 때문에 문맥에 도우미을 작성하거나 먼지에 새로운 기능을 추가하는 전역 기능으로 작성할 수 있습니다.

다음은 항목 목록을 반복하는 기본 도우미입니다. 오류 검사 등은 없지만 출발점입니다.

dust.helpers.iterate = function(chunk, context, bodies, params) { 
    var items = params.items.split(','); 
    return chunk.section(items, context, bodies, params); 
} 

그런 다음 템플릿에서 사용 :

{@iterate items="ab,cd,ef,12"} 
    Item: {.}{~n} 
{/iterate} 

단일 맥락에서이를 사용하는 경우, 당신은뿐만 아니라 당신의 먼지 컨텍스트에 직접 도우미를 배치하고 {#iterate}처럼 그들을 호출 할 수 있습니다.