在Spacebars中,如何在迭代{{#each}}之间输入数据?

时间:2015-09-26 18:23:47

标签: meteor spacebars

我正在使用SpacebarsMeteor 1.2。在{{#each post}}中,如何在特定迭代后输入数据。例如,在第二次迭代之后。

实施例: 1º迭代| 2º迭代| 数据 | 3º迭代| 4º迭代...

1 个答案:

答案 0 :(得分:2)

首先,将光标转换为数组并添加索引属性。您还需要帮助程序来检查相等性(或者告诉您何时条件适合显示不同的内容):

Template.myTemplate.helpers({
  post: function(){
    var cursor = Posts.find({}); // whatever your query is   
    var array = _.map(cursor, function(doc, index) {
      doc.iteration = index + 1; // add an 'iteration' key starting at 1 instead of 0
      return doc;
    });
    return array;
  },
  equals: function(a,b){ // determine equality of a and b for use in spacebars
    return a==b;
  }
});

然后在你的html模板中:

<template name="myTemplate">
  {{#each post}}
    Title: {{title}}
    {{#if equals iteration 2}} Second iteration {{/if}}
  {{/each}}
</template>