Meteor Blaze {{if}}语句检查是否有数组

时间:2015-12-24 02:22:38

标签: meteor meteor-blaze

我的集合有一个文档对象“wageringStraightSpread”,有时候是一个嵌入式数组。我需要检查然后查看数组,但我不确定{{if}}语句的语法。我特意寻求这条线的帮助{{#if team。[0] .wageringStats.wageringStraightSpread = array}}。谢谢!

这是我得到的:

{{#if team.[0].wageringStats.wageringStraightSpread = array}}
    {{#each}}
           {{team.[0].wageringStats.wageringStraightSpread.this.line}}
           ({{team.[0].wageringStats.wageringStraightSpread.this.money}})
     {{/each}}
 {{else}}
          {{team.[0].wageringStats.wageringStraightSpread.line}}
          ({{team.[0].wageringStats.wageringStraightSpread.money}})
{{/if}}

2 个答案:

答案 0 :(得分:1)

首先,您的if条件错误。它应该是==,而不是=。但是,情况并非如此,因为Meteor模板的if不支持布尔运算。因此,您必须有一个帮助

Template.layout.helpers({
   checkArray: function() {
      // return the result of the comparison of 
      // team.[0].wageringStats.wageringStraightSpread == array. 
      // you do need to find the way to compare the array since == is also wrong 
      // for comparing the array 
   }
});

{{#if checkArray}}

{{/if}}

答案 1 :(得分:1)

您可以创建一个isArray帮助程序来执行检查:

Template.layout.helpers({
  isArray: function(a){
    return Array.isArray(a);
  }
});

并使用以下内容从html中使用它:

{{#if isArray someVariable}}