2016-11-02 12 views
1

빈 값 후에 세퍼레이터를 추가하지 않는다 :Dust.js 제가 예를 들어, 값의 배열이 반복

{ 
    "languages": [ 
    "", 
    "CSS", 
    "HTML", 
    "", 
    "JavaScript", 
    "Dust", 
    "", 
    "" 
    ] 
} 

예상 출력 :

CSS, HTML, JavaScript, Dust 

그것을 후에 세퍼레이터를 추가 할 수 있는가 사용자 지정 도우미를 만들지 않고 내 먼지 서식 파일의 빈 값? 문제는 배열이 임의의 수의 빈 값으로 길이를 가질 수 있다는 것입니다.

답변

0

은 내장하여 헬퍼 당신이 당신의 배열의 마지막 항목이 공백 일 경우이 매달려 쉼표를 떠날 것이다, 그러나

{#languages} 
    {@ne key=. value=""}{.}{@sep}, {/sep}{/ne} 
{/languages} 

를 작성할 수 있습니다. firstNonBlankItem은 (위의 예에서 1) 올바른 인덱스로 설정하면 '당신에게,

{#languages} 
    {@ne key=. value=""}{@sep}{@ne key=$idx value=firstNonBlankItem}, {/ne}{/sep}{.}{/ne} 
{/languages} 

: 당신이 당신의 배열의 첫 번째 공백이 아닌 항목을 찾아 해당 데이터를 전달할 수있는 경우,이 오히려 추한 버전을 사용해 네가 원하는 걸 얻을거야.

그렇지 않으면 사용자 정의 도우미를 작성해야합니다. 즉, 더스트 (Dust)가 의도하는 것입니다. 컨텍스트에 도우미를 포함 할 필요조차 없습니다. 대신 사용자 정의 전역 도우미를 작성하여 Javascript에 포함시킬 수 있습니다.

+0

감사합니다.이 방법에 대해 생각했지만 "firstNonBlankItem"을 식별하는 방법을 찾지 못했습니다. 헬퍼를 쓰는 것이 유일한 해결책 인 것 같습니다 ... –

+0

도우미를 쓰지 않으려는 이유가 있습니까? 데이터를 수정할 수 없다하더라도, 글로벌'dust.helpers' 객체에 도우미를 아주 쉽게 추가 할 수 있습니다. – Interrobang

+0

서버에 'firstNonBlankItem'을 표시하고 데이터에이를 포함시켜야합니다. – Interrobang