【问题标题】:How to insert extra column with data in #each loop?如何在#each 循环中插入带有数据的额外列?
【发布时间】:2014-03-17 04:23:15
【问题描述】:

我有以下模板:

<body>
  <table border="1px">
  {{> test}}
  <table>
</body>

<template name="test">
  {{#each items}}
  <tr>
        {{> test2}}
  </tr>
  {{/each}}
</template>

<template name="test2">
   <td>{{name}}</td><td>{{lastruntime}}</td><td>{{result}}</td><td>{{blaat}}</td>
</template>

以及以下客户端代码:

ScheduledTasks = new Meteor.Collection("scheduledTasks");

if (Meteor.isClient) {
  Template.test.items = function () {
    return ScheduledTasks.find({});
  }
};

现在 {{blaat}} 不是文档的一部分,但需要根据单个行中的数据填充数据。我尝试了很多,但不知道如何访问/填充 {{blaat}} 标签。有人吗?

【问题讨论】:

    标签: meteor handlebars.js each


    【解决方案1】:

    您可以使用map 通过添加blaat 属性来修改每个文档。然后您可以返回修改后的文档数组,而不是返回游标。例如:

    Template.test.items = function() {
      return ScheduledTasks.find().map(function(item) {
        item.blaat = item.name + item.result;
        return item;
      });
    };
    

    blaat 属性随后将可用于您的模板,就像 nameresult

    或者,如果您认为blaat 属性应该始终在您检索计划任务时出现,那么您可以考虑将transofrm 添加到集合中。

    【讨论】:

      猜你喜欢
      • 2019-09-04
      • 1970-01-01
      • 2012-11-25
      • 2014-03-14
      • 2015-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多