如何在流星模板上使用 if 条件?
Posted
技术标签:
【中文标题】如何在流星模板上使用 if 条件?【英文标题】:How can I use if condition on the meteor template? 【发布时间】:2015-04-24 13:54:32 【问题描述】:我想在 Meteor Blaze 模板中使用 if
条件。假设您在要遍历任务的用户集合上有一个助手 users
,如果用户名是管理员,请使用“红色”样式:
<ul>
#each users
<li #if(name==admin)class="red"/if>name</li>
/each
</ul>
【问题讨论】:
【参考方案1】:Meteor 使用Spacebars,Handlebars 的变体,是“无逻辑”模板。你需要定义一个Template helper,然后在#if
中使用。
Template.foo.helpers(
isAdmin: function (name)
return name === "admin"
);
<ul>
#each users
<li #if isAdmin nameclass="red"/if>name</li>
/each
</ul>
【讨论】:
谢谢!。但是是否可以在模板上使用条件或表达式? @Phirum,空格键中的所有计算都必须通过助手(或数据上下文)完成。 @PeppeL-G 为什么一切都需要通过助手来完成,空格键不应该引入===
!==
语句吗?
@DavidAnderton,我不知道为什么空格键不支持,我只能说它不支持。但这可能是因为空格键负责视图,并且将计算(例如等式表达式)远离视图是一种很好的做法,因此您只需要发送模型应该呈现的视图(但如果你问我,不允许在视图中使用相等的表达式太极端了)。以上是关于如何在流星模板上使用 if 条件?的主要内容,如果未能解决你的问题,请参考以下文章