流星模板,检查值是不是等于字符串
Posted
技术标签:
【中文标题】流星模板,检查值是不是等于字符串【英文标题】:Meteor templates, check if value equals string流星模板,检查值是否等于字符串 【发布时间】:2015-08-21 22:14:25 【问题描述】:这是模板结构
#each loadedEvents
#if future
#if timezone="Europe/Warsaw"
> event
/if
/each
是否可以仅查看具有给定值的项目? 第二个问题,如何结合这两个语句:
#if future #if timezone="Europe/Warsaw"
【问题讨论】:
【参考方案1】:使用Template.registerHelper
创建一个全局助手。例如,创建一个比较两个任意变量的助手:
Template.registerHelper('compare', function(v1, v2)
if (typeof v1 === 'object' && typeof v2 === 'object')
return _.isEqual(v1, v2); // do a object comparison
else
return v1 === v2;
);
然后使用它:
#if compare timezone "Europe/Warsaw"
// Do something
/if
【讨论】:
【参考方案2】:您可以创建一个专用助手来检查时区是否等于某个值:
Template.loadedEvents.helpers(
timezoneIs: function(timezone)
return this.timezone == timezone;
);
如果您想组合两个空格键#if
块助手,请再次创建一个专用助手,在 JS 中执行测试:
JS
Template.loadedEvents.helpers(
isFutureAndTimezoneIs: function(timezone)
return this.future && this.timezone == timezone;
);
#each loadedEvents
#if isFutureAndTimezoneIs "Europe/Warsaw"
> event
/if
/each
【讨论】:
谢谢,我已将条件转移到帮助代码中,结果与 #if 和 #unless 不同 :)以上是关于流星模板,检查值是不是等于字符串的主要内容,如果未能解决你的问题,请参考以下文章