【问题标题】:MarkoJS for loop over array of objectsMarkoJS for 循环对象数组
【发布时间】:2018-06-09 04:38:51
【问题描述】:

我真的需要帮助解决一个非常简单和微不足道的问题,但它就在这里。我在 NodeJS 的服务器端使用 marko,并通过以下方式呈现我的视图:

ctx.render({
});

使用 koa-router 和 koa。我需要 html 部门的帮助,了解如何在 for 或 while 循环所有这些以通过以下方式显示:

<ul>
  <li>
  </li>
</ul>

我已经尝试了又尝试了,但我太沮丧了,无法继续前进,请有人救救我,因为这感觉就像星期一在星期四放屁一样 -_-

"invoices": [
    {
        "id": 1,
        "customer_id": 1,
        "line_items_total": 187,
        "additional_fees": 10,
        "tax_rate": 0.07,
        "sub_total": 210.79
    },
    {
        "id": 2,
        "customer_id": 4,
        "line_items_total": 100,
        "additional_fees": 0,
        "tax_rate": 0.07,
        "sub_total": 107
    },
    {
        "id": 3,
        "customer_id": 2,
        "line_items_total": 48.4,
        "additional_fees": 0,
        "tax_rate": 0.07,
        "sub_total": 51.79
    },
    {
        "id": 4,
        "customer_id": 9,
        "line_items_total": 286,
        "additional_fees": 35,
        "tax_rate": 0.07,
        "sub_total": 343.47
    }
]

完整的项目文件位于:GitHub

这是在:

/routes/invoices/invoices.js

查询可以在以下位置找到:

/db/queries

指的是:

queries.objects.getAllObjects()

在:

/routes/invoices/invoices.js

【问题讨论】:

  • 嘿,又是我,刚刚注意到你在那个已删除的问题上给我留下的评论,我想让你知道不是我 DV 你的帖子(而且没有人可以 DV 帖子两次顺便说一句)。对此感到抱歉,但不是我 - 但是我确实赞成这个

标签: node.js koa knex.js koa-router marko


【解决方案1】:

您是正确的,您可以使用以下语法循环数组:

<ul>
    <li for(invoice in data.invoices)>${invoice}</li>
</ul>

Marko 还允许您在需要时循环遍历对象的属性:

<ul>
    <li for(invoice in data.invoices)>
            <ul>
                <li for(key,value in invoice)>
                    <strong>${key}</strong>: ${value}
                </li>
            </ul>
    </li>
</ul>

供参考:https://markojs.com/docs/core-tags/#codeltforgtcode

【讨论】:

    【解决方案2】:

    L-O-L 明白了,对于任何将来引用它的人来说,一个很好的简单:

    invoices.marko
    

    文件以获得基本的了解。我当然可以:

    ${invoice.id}
    ${invoice.customer_id}
    ${invoice.line_items_total}
    ${etc}
    

    列出所需 .key 的每个单独的属性/属性/值

    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8"/>
        <title>Invoices</title>
    </head>
    <body>
      <ul>
        <li for(invoice in data.invoices)>${invoice}</li>
      </ul>
    </body>
    

    【讨论】:

      猜你喜欢
      • 2012-03-20
      • 1970-01-01
      • 2017-08-09
      • 2021-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多