2016-11-02 12 views
1

に空の値の後に区切り文字を追加しないでください:Dust.jsは、私は、例えば、値の配列を持つループ

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

予想される出力:

CSS, HTML, JavaScript, Dust 

が、後に区切りを追加しないことは可能ですカスタムヘルパーを作成せずに私のほこりテンプレートの空の値?問題は、配列の長さに任意の数の空の値を指定できることです。唯一の組み込みのヘルパーあなたが

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

を書くことができますを使用して

答えて

0

あなたの配列の最後の項目は空白の1である場合は、これはダングリングカンマを残します。 firstNonBlankItemが正しいインデックス(上記のあなたの例では1)に設定されている場合は、」

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

:あなたは配列内の最初の非空白の項目を検索し、そのデータを渡すことができた場合は、このかなり-醜いバージョンを試してみてくださいあなたが欲しいものを手に入れよう。

それ以外の場合は、カスタムヘルパーを作成する必要があります。これは、ダストがあなたに求めるものです。あなたはあなたの文脈にヘルパーを含める必要はありません。代わりにカスタムグローバルヘルパーを作成し、それをあなたのJavascriptに含めることができます。

+0

ありがとう、私はこのアプローチについて考えましたが、 "firstNonBlankItem"の識別方法は見つかりませんでした。ヘルパーを書くことが唯一の解決策だと思われます... –

+0

ヘルパーを書こうとしたくない理由はありますか?データを変更できない場合でも、ヘルパーをグローバルな 'dust.helpers'オブジェクトに非常に簡単に追加することができます。 – Interrobang

+0

サーバ上で 'firstNonBlankItem'をマークし、それにあなたのデータを含める必要があります。 – Interrobang

関連する問題