如何创建简单的条件手柄?
我想要做的是从集合中获取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 }}
在JS中定义了moodIsPlus:
Template.messages.moodIsPlus = function() {
return Messages.find({mood:'+'});
}
它会返回所有内容。
顺便说一句,车把和车把.js是一回事吗?我在哪里可以获得更多关于meteorjs车把的参考资料?
答案 0 :(得分:1)
查看Meteor Smart Package Handlebar-helpers,因为它附带了许多类似的帮助程序。
以下是如何通过它实现您的目标:
<tr>
<td>
<strong>{{#if $eq mood '+'}}<i class="icon-hand-up" value="+"></i>{{/if}}</strong> {{message}}<br>
</td>
</tr>
答案 1 :(得分: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 }}
希望得到这个帮助。