javascript - 迭代 Handlebars 中的对象

标签 javascript node.js handlebars.js

我有一个如下所示的 JavaScript 对象:

{
    "key1": {
        name: "SomeName1"
    },
    "key2": {
        name: "SomeName2"
    },
    "key3": {
        name: "SomeName3"
    }
}

我将其传递到我的 Handlebars 模板中。我想在屏幕上显示所有名称。

app.get('/', function(req, res) {
    res.render('index', {
        data: myObject
    });
});

在我的 index.hbs 文件中,我有:

{{#each data}}
    Name: {{this.name}}
    <br>
{{/each}}

目前,它只是显示

Name:
Name:
Name:

最佳答案

为了让你的代码正常工作,你的对象需要看起来像这样

{
  data:[
    { name: '1'},
    { name: '2'},
    { name: '3'}
  ]
}

或者像这样通过对象键进行读写

{{#each this}}
   {{#each this}}
         Name: {{this}}
         <br>
   {{/each}}
{{/each}}

关于javascript - 迭代 Handlebars 中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50864719/

相关文章:

javascript - 如何使用数组中的名称生成标记表并在旁边显示文本框?

javascript - C#函数返回一个值并显示在网页中

JavaScript 事件不仅在第一个元素上

javascript - Travis CI NodeJs 构建在本地运行,但在 Travis CI 上获得拒绝的权限

javascript - Handlebars.js 中的 Block helper 和 Partials 有什么区别

javascript - jQuery 从变量中返回 NaN 和 [object Object]

javascript - 将 token 传递到我的 Angular 4 应用程序的优雅方式是什么?

node.js - 在 Node js 的 async.forEach 中返回值?

javascript - 如何在 emberjs 上使用单向绑定(bind)?

javascript - 数据未附加到 Handlebars.js 中的元素