2013-05-14 1 views
5

요즘에는 handlerbars.js로 작업 중이며 꽤 재미있을 것 같습니다. 거기에서 나는 너희들에게서 작은 도움이 필요하다.handlebars.js를 사용하는 쉼표로 구분 된 문자열

내가는 다음과 같은 JSON 입력

"ALERTS": [ 
    { 
     "alert_description": "ALCOHOL", 
    }, 
    { 
     "alert_description": "DIAGNOSIS", 
    } 
] 

을하고 난 쉼표로 구분 된 문자열 다음 생성 템플릿을 작성해야합니다.

ALCOHOL, DIAGNOSIS 
이 값은 다음 템플릿을 사용하여 줄 단위로 인쇄 할 수있었습니다.

<div> 
    <div> 
{{#each this}} 
    <span>{{alert_description}}</span> 
{{/each}} 
</div> 
</div> 

이 문제를 해결할 수 있도록 도와 주시겠습니까? 당신의 도움이

이런 종류의 시나리오에 대한 감사 케스

답변

1

당신은 암시 적 @index 변수를 사용하여 도우미를 작성 {{#each}} 및 테스트하지 않고이 작업을 수행 할 수 있습니다

{{#each this}} 
    {{#if @index}}, {{/if}} 
    <span>{{alert_description}}</span> 
{{/each}} 

@first와 @last도 테스트 할 수 있습니다 (handlebarsjs docs 참조).

2

감사, 나는 도우미를 작성합니다.

여기 도우미는 쉼표를 위해 여기, 내 구현

Handlebars.registerHelper('commalist', function(items, options) { 
    var out = ''; 

    for(var i=0, l=items.length; i<l; i++) { 
    out = out + options.fn(items[i]) + (i!==(l-1) ? ",":""); 
    } 
    return out; 
}); 

및 템플릿 사실

<div> 
    <div> 
    {{#commalist this}} 
     <span>{{alert_description}}</span> 
    {{/commalist}} 
    </div> 
</div> 

입니다. 당신은 여전히 ​​도우미 (범위, DIV, ...) 내부에 HTML을 넣을 수 있습니다

+4

루프 대신 items.join()을 사용할 수 있습니다. –

관련 문제