2014-09-12 80 views
0

我將如何在流星火焰中使用while循環? 我嘗試使用{{unless}},但沒有奏效。
這是我的嘗試:
流星:在模板中使用while循環

<template name="homePage"> 
    <h2>Welcome to home page! </h2> 
    {{#unless numberOfDays 0}} 
     <span>hi</span> 
     {{numberOfDays--}} 
    {{/#unless}} 
</template> 

它沒有在所有的工作。

回答

0

在spacebars沒有#while,模板引擎,默認流星火焰。

#unless關鍵字是一個否定的#if,這是一個條件不是真實的東西。除非塊不是循環,它只能運行一次。就像如果,塊將運行或不運行。 #unless運行,如果條件不真誠。

唯一的循環結構是#each。您可以通過計算模板外部的結果並將它們放入數組變量中來模擬for或while循環的行爲。在模板中,調用數組變量上的#each。

雖然編寫自定義的handlebars block helper可用於進行自定義迭代,如while循環,但Meteor的spacebars是句柄代碼的分支,並且可能需要稍微不同的語法。

對於最簡單的用途,#each就足夠了。重新格式化數據通常會讓#each以自然的方式使用。

Spacebar docs

#Each

一種#each模板標籤接受一個序列參數並插入其對於序列中的每個項目的內容,數據上下文設置到該項目的值:

<ul> {{#each people}} <li>{{name}}</li> {{/each}} </ul>

的參數典型地是流星光標(collection.find的()的結果,例如),但它也可以是一個普通的JavaScript陣列,null或未定義。

可以提供「else」部分,如果在任何時候序列中有零個項目,則使用該部分(沒有新的數據上下文)。