javascript - 在 blaze 中迭代 json 对象数组

标签 javascript meteor meteor-blaze

我是 meteor 新手,并且正在努力在 blaze 中使用 #each。 我尝试遵循 this answer on stackoverflow ,但我的要求略有不同。

我有一个 json 对象数组:

{
    "accounting": [{
            "firstName": "John",
            "lastName": "Doe",
            "age": 23
        },

        {
            "firstName": "Mary",
            "lastName": "Smith",
            "age": 32
        },

        {
            "firstName": "Mike",
            "lastName": "Nolan",
            "age": 21
        }
    ]
}

如何在 meteor 项目中使用 blaze(特别是使用 #each 来迭代数组)显示每个对象的名字。

我尝试了很多不同的方法,使用多种辅助方法,但无法实现它。如果有人可以帮忙。

此外,如果不可能,请告诉替代方案来实现相同的目的。

数据来自 API 调用,数据格式是 json 对象,但存储为 Session 变量(因此我将在辅助方法中使用 Session. get())。

最佳答案

这将取决于您的数据来自何处。在我的示例中,您可以将我的硬编码变量替换为对象的源。如果您添加它的来源,我可以修改我的解决方案。

基本上,您只需使用辅助函数返回 JSON 对象内部的对象数组。从那里,您可以在 #each block 中调用帮助器,并直接使用 {{firstName}}

引用 firstName

模板

<template name="yourTemplateName">
    {{#each accounting}}
        {{firstName}}
    {{/each}}
</template>

helper

Template.yourTemplateName.helpers({
    accounting: function () {
        var data = Session.get('apiResponse');
         //You return the array of objects, which can then be iterated with each
        if (!_.isEmpty(data)){
            return data.accounting;
        } else {
            return []
        }
     }
});

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

相关文章:

javascript - 在 web2py 中包含静态 javascript

javascript - 使用 Meteor 时,我应该在 npm 前面加上 Meteor 前缀吗?

javascript - 如何在 Meteor App 中包含本地 JS 文件?

javascript - 在空格键变量中显示html

javascript - meteor .js : How to access value of HTML-element

javascript - 将 url 从 html 传递给 javascript

javascript - 向图像 slider 添加淡入淡出效果 - 纯 JavaScript

javascript - 如何使提交按钮仅在电子邮件字段填写时才起作用?

mongodb - 将 Apollo 连接到 Meteor Mongo

javascript - Meteor.loginWithPassword 中的自定义验证