【问题标题】:Meteor retrieving nested arrays流星检索嵌套数组
【发布时间】:2016-04-15 17:22:22
【问题描述】:

我正在尝试在 Meteor 中格式化一个订单表,并且我正在努力在文档中输出一个嵌套数组。我有以下代码:

采集数据

{
    "_id" : "tDLaCMSde3QyneJqm",
    "orderNumber" : 1234,
    "createdAt" : ISODate("2016-01-11T11:14:21.986Z"),
    "productsInOrder" : [
        {
            "item" : 10300,
            "desc" : "Ergonomic Wooden Fish",
            "quantity" : "43",
            "price" : "0.92",
            "lineprice" : "39.56",
            "_id" : "BQeEwtGQEDpPxA6ZM"
        },
        {
            "item" : 98517,
            "desc" : "Refined Concrete Soap",
            "quantity" : "10",
            "price" : "2.11",
            "lineprice" : "21.10",
            "_id" : "YqBdy8aLJovuncQce"
        },
        {
            "item" : 69824,
            "desc" : "Incredible Frozen Gloves",
            "quantity" : "7",
            "price" : "3.79",
            "lineprice" : "26.53",
            "_id" : "EefPSwLHCFyJuzXcT"
        },
        {
            "item" : 14897,
            "desc" : "Intelligent Frozen Towels",
            "quantity" : "3",
            "price" : "4.15",
            "lineprice" : "12.45",
            "_id" : "BSg32fTmpqZBdM2eT"
        }
    ]
}

HTML/空格键

<template name="orders">
  <table class="table table-striped">
    <thead>
      <tr>
        <th>
          Order Number
        </th>
        <th>
          Ordered on
        </th>
        <th>
          Items in order
        </th>
      </tr>
    </thead>
    <tbody>
      {{#each orders}}
        <tr>
          <td>
            {{orderNumber}}
          </td>
          <td>
            {{createdAt}}
          </td>
          <td>
            {{productsInOrder}}
          </td>
        </tr>
      {{/each}}
    </tbody>
  </table>
</template>

JS/助手

Template.orders.helpers({
  'orders': function() {
    return Orders.find({});
  }
});

渲染输出

如您所见,“按顺序排列的项目”未显示正确的信息。请你能帮忙解释一下我哪里出错了吗?非常感谢。

【问题讨论】:

    标签: javascript mongodb meteor meteor-blaze spacebars


    【解决方案1】:

    通过将producstInOrder 放入double-braces 空格键将变量序列化为字符串,这导致每个对象被序列化为'[object Object]' JavaScript 告诉您存储的变量是对象类型的方式。如果您想显示列表中每个项目的项目编号,您需要使用另一个 each 块循环 productsInOrder 并呈现项目字段:

    {{#each producstInOrder}}
        {{item}}
    {{/each}}
    

    您还可以在 productsInOrder 中包含的项目上呈现任何其他可用字段。

    【讨论】:

      猜你喜欢
      • 2017-07-17
      • 2018-12-15
      • 1970-01-01
      • 2017-08-28
      • 2021-10-03
      • 2017-02-09
      • 2016-01-24
      • 2016-11-29
      • 1970-01-01
      相关资源
      最近更新 更多