代码之家  ›  专栏  ›  技术社区  ›  Hikmat G.

嵌套对象列表

  •  -1
  • Hikmat G.  · 技术社区  · 6 年前

    我有一个嵌套对象列表,正在使用 ngFor 迭代。但是,当我想要访问某个子对象的属性时,我必须从根对象写入所有属性的链。我试图定义额外的变量,并为其分配子对象。基本上我想做的是下面这样的事情,但它给出了错误,我认为这是不正确的语法

    <div *ngFor="let obj of objs; let child = obj.childObject">
        <span>{{ child.name }}</span>
    <div/>
    

    我怎样才能做到这一点?

    3 回复  |  直到 6 年前
        1
  •  0
  •   AmiLinn    6 年前

    试试这个

    <div *ngFor="let obj of objs;">
      <ng-container *ngFor="let child of obj.childObject;>
        <span>{{ child.name }}</span>
      </ng-container>
    <div/>
    
        2
  •  0
  •   Fadeef Saleh    6 年前

    看看我的例子,这是工作

     <div *ngFor="let catergory of Catergories;">
          <span>{{ catergory.name }}</span>
          <div *ngFor="let product of catergory.products;>
            <span>{{ product.name }}</span>
          </div>
     <div/>
    
        3
  •  0
  •   Markus Pscheidt WEGSY85    6 年前

    为什么不遍历 span :

    <span *ngFor="let obj of objs">{{ obj.childObject.name }}</span>
    

    阅读评论后进行编辑。以上内容用于显示特定的 childobject 所有物

    如果目标是打印所有 子对象 的属性,然后定义 objectKeys 组件类中的变量:

    export class MyComponent {
      objectKeys = Object.keys;
      ...
    }
    

    然后提供要将密钥作为参数迭代到的集合 objectKeys 在组件的html中:

    <div *ngFor="let obj of objs">
        <span *ngFor="let key of objectKeys(obj.childobject)">{{key + ' : ' + obj.childobject[key]}}</span>
    <div/>