【问题标题】:Trying to dynamically display a model using Angular尝试使用 Angular 动态显示模型
【发布时间】:2013-11-12 07:05:09
【问题描述】:

我在尝试使用 ng-repat 以角度动态显示所有 json 值时遇到问题

这是我希望使用硬编码值替换的内容

html

 <div ng-repeat="user in users">
            {{user.userId}} {{user.userName}} {{user.password}}
        </div>

输出

3 DAve password
4 bob password
4 kjdjkdj
1 names password2

我正在尝试将角度重复编写得更通用,这样我就可以从猫鼬模型中传递任意数量的 json 集合。到目前为止,我已经得到了

<div ng-repeat="(key, value) in users">
        <td> {{key}} </td> <td> {{ value }} </td>
        </div>

通过这个循环,我得到了太多信息,随后的输出

0 {"_id":"527a732fe5f8dabf5b00020c","userId":3,"userName":"DAve","password":"password"}
1 {"userId":4,"userName":"bob","password":"password","_id":"527abf6ebaa5eb8426000001","__v":0}
2 {"userId":4,"password":"kjdjkdj","_id":"527d62fc85612ab42b000001","__v":0}
3 {"__v":0,"_id":"528130182c5544b81f000002","password":"password2","userId":1,"userName":"names"}

如何修改以下循环以仅输出 userName 密码和 userId 而无需像在我的第一个循环中那样显式声明它们。

【问题讨论】:

  • 我假设users 是一个集合,所以没有键,只有索引。
  • 那么,您想要一些通用的东西,但它只显示用户名、密码和用户 ID?这不是完全矛盾吗?
  • 用户是一个集合
  • 我同意@JBNizet,你想做的是不必要的抽象。如果你想要一个通用的列表,创建一个指令。
  • 非常感谢,我将开始查看指令的角度文档。

标签: javascript html json angularjs


【解决方案1】:

如果您想打印user 内的所有值,而不知道提前有什么或多少,您可以使用第二个ng-repeat 来迭代每个对象的键值对,如下所示:

<div ng-repeat="user in users">
    <div ng-repeat="(k, v) in user">
          {{v}} 
    </div>
</div>

这只会打印值,因为看起来这是您感兴趣的部分。显然您可以同时打印两者。

【讨论】:

    猜你喜欢
    • 2021-08-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-15
    • 2017-08-24
    • 2015-10-31
    • 1970-01-01
    • 1970-01-01
    • 2019-07-28
    相关资源
    最近更新 更多