javascript - 在 Angular 中渲染对象的对象

标签 javascript angular object render ngfor

我如何在 Angular 中呈现一个对象的对象,但不将其转换为数组或类似的东西。这样做的原因是我有一个很大的对象对象,我想避免从对象到数组的多次迭代,以便在 html 中循环数组。

例如我有:

    persons: any = {
      0: { name: 'name1', email: 'name1@gmail.com' },
      1: { name: 'name2', email: 'name2@gmail.com' },
      2: { name: 'name3', email: 'name3@gmail.com' }
    }

当我执行以下操作时:

    <div *ngFor="let person of persons | keyvalue">
      <p>
      {{ person.key }} / {{ person.value }}
      </p>
    </div>

结果是:

    0 / [object Object]
    1 / [object Object]
    2 / [object Object]

我尝试通过 person.value 再循环一次:

    <div *ngFor="let person of persons | keyvalue;">
      <p>
      {{ person.key }}
      <span *ngFor="let item of person.value | keyvalue"></span>
      </p>
    </div>

但这会导致错误(“没有重载匹配此调用。”)。

谁能告诉我怎样才能做到这一点?

最佳答案

你可以只使用 json 管道

例子:

{{persons | json}}

文档:https://angular.io/api/common/JsonPipe

Stackblitz example

关于javascript - 在 Angular 中渲染对象的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69271031/

相关文章:

javascript - 获取Javascript数组的最高索引键

javascript - Quasar QTable 中的粘性标题

css - Angular Material Snackbar 改变颜色

javascript - 如何从 Jasmine 测试 Angular 2/4 触发文档级事件

c++ - std::vector 的替代品,用于存储引用而不是对象的拷贝

javascript - 如何访问对象值

javascript - 我可以将 javascript 对象数据渲染到 c3js 图表中吗?

javascript - 如果浏览器是 Internet Explorer : run an alternative script instead

angular - 如何更新angular2中的全局变量

带有不完整对象的 PHP session