2014-03-02 85 views
1

如何創建簡單的條件車把?meteorjs車把定製條件

我想要做的是從集合中獲得如果mood =='+',呈現白色卷,否則呈現其他顏色。

這是HTML:

{{#if moodIsPlus}} 
    <tr> 
     <td> 
      <strong>{{mood}} <i class="icon-hand-up" value="+"></i></strong> {{message}}<br> 
     </td> 
    </tr> 
    {{else}} 
    <tr class="info"> 
     <td> 
      <strong>{{mood}} </strong> {{message}}<br> 
     </td> 
    </tr> 
    {{/if }} 

這moodIsPlus是JS定義:

Template.messages.moodIsPlus = function() { 
    return Messages.find({mood:'+'}); 
} 

並返回的一切。

順便說一下,handlebar和handlebar.js是一回事嗎?我可以從哪裏獲得更多關於meteorjs車把手的參考資料?

+1

是的,把手和Handlebar.js一樣。流星默認情況下使用手柄作爲模板系統。無論在[site](handlebarsjs.com)上應用Meteor env。 – ajduke

+0

[Handlebars.js if block helper ==]可能的重複(http://stackoverflow.com/questions/15088215/handlebars-js-if-block-helper) – ajduke

回答

1

結賬流星智能套餐Handlebar-helpers,因爲它有很多類似的傭工。

這裏是你將如何實現你在找什麼吧:

<tr> 
    <td> 
     <strong>{{#if $eq mood '+'}}<i class="icon-hand-up" value="+"></i>{{/if}}</strong> {{message}}<br> 
    </td> 
</tr> 
1

您可以使用空格鍵或車把(舊)函數來完成這項工作。

首先是獲取所有消息。你可以把它放在這樣的模板助手裏面:

Messages.helpers({ 
messages: function(){ 
    return Messages.find({}); 
}, 
moodIsPlus: function(mood){ 
    return (mood === "+") ? true : false; // return true if mood === "+" 
} 
}); 

然後,在你的模板中。

{{#if moodIsPlus mood}} mood is from your Messages collection. that contains "+" or whatever. 
    <tr> 
    <td> 
     <strong>{{mood}} <i class="icon-hand-up" value="+"></i></strong> {{message}}<br> 
    </td> 
</tr> 
{{else}} 
<tr class="info"> 
    <td> 
     <strong>{{mood}} </strong> {{message}}<br> 
    </td> 
</tr> 
{{/if }} 

希望得到這個幫助。