【问题标题】:Dynamic loops in Meteor with nested #each?Meteor 中带有嵌套#each 的动态循环?
【发布时间】:2015-12-29 14:24:12
【问题描述】:

我有一个由 Papaparse 从 CSV 解析为 JSON 的数据表,我想在表格中动态显示。数据数组看起来像这样,来自 Papaparse:

data: {
  0 {
    _id: "",
    Testcol: "cellvalue",
    Testcol2: "cellvalue2"
  },
  1 {
    ...
  }
}

我现在正努力将它放入 HTML,因为我不知道这些值,因为它们是动态的,所以我不能假设任何值的名称。

我尝试了以下方法:

<table class="table table-striped">
    <thead>
        <tr>
            {{#each projectData.meta.fields}}
                <th>{{this}}</th>
            {{/each}}
        </tr>
    </thead>
    <tbody>

        {{#each row in projectData.data}}
            <tr>
                {{#each row}}
                    <td>
                        {{this}}
                    </td>
                {{/each}}
            </tr>
        {{/each}}

    </tbody>
</table>

但我收到此错误:Uncaught Error: {{#each}} currently only accepts arrays, cursors or falsey values.

我该如何正确地做到这一点?我希望有人能指出我正确的方向。

【问题讨论】:

    标签: javascript dynamic meteor meteor-blaze spacebars


    【解决方案1】:

    实际上我现在就可以使用它了,通过使用帮助器将对象转换为键/值发现了一些有用的东西。

    How to print key and values in Meteor Template?

    帮手:

    Template.registerHelper("objectToPairs",function(object){
      return _.map(object, function(value, key) {
        return {
          key: key,
          value: value
        };
      });
    });
    

    修改后的#each块:

            {{#each row in projectData.data}}
                <tr>
                    {{#each objectToPairs row}}
                        <td>
                            {{value}}
                        </td>
                    {{/each}}
                </tr>
            {{/each}}
    

    如果这不是最好的方法,请指教。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-01
      • 1970-01-01
      • 2012-12-07
      • 2012-03-09
      • 2019-04-07
      • 2016-05-04
      • 1970-01-01
      • 2020-02-13
      相关资源
      最近更新 更多