流星模板,检查值是不是等于字符串

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;
  
);

html

#each loadedEvents
  #if isFutureAndTimezoneIs "Europe/Warsaw"
    > event
  /if
/each

【讨论】:

谢谢,我已将条件转移到帮助代码中,结果与 #if 和 #unless 不同 :)

以上是关于流星模板,检查值是不是等于字符串的主要内容,如果未能解决你的问题,请参考以下文章

检查流星模板中的空值

在流星中将变量从父模板传递到子模板

检查字符串是不是等于实体中的对象属性

如何检查我的字符串是不是等于null?

Android 应用程序 - 检查用户的当前位置是不是等于(字符串)地址

如何检查url查询字符串是不是等于javascript(或jquery)[重复]