在{{each}}帮助器中使用ReactiveVar

时间:2015-05-15 11:40:01

标签: meteor meteor-helper

我的帮助器中有一个ReactiveVar,它返回一些要放在模板中的照片

photoCount:->
    Template.instance().rvPhotoCount.get()

现在我需要使用photoCount返回的#{1}}来反复填充我的HTML。我尝试使用img但收到错误 {{each photoCount}}<img>
我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

{{#each}}运算符用于迭代事物列表,例如,在您的情况下,是图像列表。

目前,您正在传递{{#each}}您拥有的号码。并且each不知道如何迭代单个数字!

如果要显示每个图像,则应以数组或光标的形式传递each图像列表本身:

{{#each images}}<img src={{src}} />{{/each}}

如果您只想显示图片的编号,请使用{{photoCount}}

<p>There are {{photoCount}} images.</p>

如果你只想打印一些相同的&#34;静态&#34; img,你必须在帮助器中预处理数组:

  photoCount: function(){
    var countArr = [];
    var count = Template.instance().rvPhotoCount.get();
    for (var i=0; i<count; i++){
      countArr.push({});
    }
    return countArr;
  }

并使用{{#each}}。可悲的是,Meteor在内置模板功能方面非常有限。

答案 1 :(得分:0)

我决定将辅助输出更改为数组以求解决方案 要填充数组,我使用coffeescript数组切片。

photoCount:->
    count=Template.instance().rvPhotoCount.get()
    array=[1..count]