javascript - 如何使用 Angular.js 将 JSON 数组中的元素添加到网格中

标签 javascript json angularjs html

我在文件 data.json 中有一个 JSON 数组,如下所示:

var info = [{
"place": "Turkey",
"username": "jhon"
}, {
"place": "Dubai",
"username": "bruce"
}, {
"place": "Italy",
"username": "Wayne"
}];

我可以使用循环访问这些内容并在警报框的帮助下进行检查。但是,我希望以表格的形式显示内容。我可以使用 JavaScript 或者正如有人向我建议的那样,我也可以使用 Angular.js。有什么想法可以让我相处起来更容易吗?

最佳答案

如果您打算仅使用 Angular 将 JSON 显示为表格,那么这将是一种矫枉过正。

您可以轻松地使用纯 JavaScript 本身来完成此操作。

我们可以使用 JavaScript 创建表格的每个单元格并将其动态附加到表格中。

function showInfo() {
    var table = document.getElementById('info');
    
    info.forEach(function(obj) {
        var row = document.createElement('tr'),
            col1 = document.createElement('td'),
            col2 = document.createElement('td'),
            place = document.createTextNode(obj.place),
            username = document.createTextNode(obj.username);
        col1.appendChild(place);
        col2.appendChild(username);
        row.appendChild(col1);
        row.appendChild(col2);
        table.appendChild(row);
    });
    document.body.appendChild(table);
}

这是示例 fiddle

更新

IE 似乎不支持 forEach。这是另一个版本,它使用 for 循环而不是 forEach 构造

function showInfo() {
    var table = document.getElementById('info');
    for (var i=0; i< info.length; i++) {
        var obj = info[i],
            row = document.createElement('tr'),
            col1 = document.createElement('td'),
            col2 = document.createElement('td'),
            place = document.createTextNode(obj.place),
            username = document.createTextNode(obj.username);
        col1.appendChild(place);
        col2.appendChild(username);
        row.appendChild(col1);
        row.appendChild(col2);
        table.appendChild(row);
    }
    document.body.appendChild(table);
}

这是更新后的示例 fiddle

关于javascript - 如何使用 Angular.js 将 JSON 数组中的元素添加到网格中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31809291/

相关文章:

angularjs - 组件upperCaseComponent模板出错

javascript - 将元素放在文本框上

javascript - 如何在 React Native 中使用 React.forwardRef()

java - 如何使用带有 Gson 的 retrofit2 将空字符串视为 null

javascript - AngularJS:ng-hide 不起作用

angularjs - 选择下拉菜单时执行 orderBy

javascript - 为什么express在这个方法中显示 "error can not set headers after they are sent"?

javascript - 保存到 3 个互联网连接速度较慢的 Firebase 位置

python - 如何使用 GeoDataFrame 生成 Folium map ?

c# - 使用 ToObject 方法反序列化 Json 会产生默认属性值