2016-07-20 81 views
0

是否有可能在灰塵中迭代數組文字?迭代數組文字

如果我有JSON,象這樣{arr: ["a", "b", "c"]}我會做:

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

有沒有辦法用一個數組我在塵土模板中定義要做到這一點?也許是這樣的:

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

我知道這是不正確的語法,但希望它說明了我想要做的。

回答

1

灰塵本身不包含此語言功能。這就是爲什麼你可以在你的上下文中編寫幫手或作爲全球功能向Dust添加新功能。

這是一個迭代項目列表的基本助手。沒有錯誤檢查或任何事情,但這是一個起點。

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}