角度不显示对象数组

时间:2020-04-19 14:45:23

标签: angular

我正在使用angular从api中获取数据。我拥有的数据结构是array(object).array(object)

  • 这是我的数据

enter image description here

  • 这是组件ts
export class LoginComponent implements OnInit {

collaborator:Collaborator[]=[];
entreprise:Entreprise[]=[];


  constructor(private serv:EntrepriseService) { }

 getcoll(){
  this.serv.getcollaboratorses().subscribe(res =>{
     this.collaborator = res.content;
     // this.entreprise=res.content.entreprise;
      console.log(res);
    },err =>{

      console.log(err);
    });
}

  • 合作者模块
import {Entreprise} from './entreprise';
export interface Collaborator {

    id:String;
    name:String;
    email:String;
    password:String;
    phone:String;
    entreprise:Entreprise[];
    roles:any[];
}
  • 企业模块
export interface Entreprise {

    id:String;
    name:String;
    socialPurpose: String;
    businessCode:String;
    activityDomain:String;
    email:String;
    password:String;
    logo:String;
    roles:any[];

}
  • html代码
<p *ngFor="let ee of collaborator">
   {{ee.name}} - <ng-container *ngIf="ee?.entreprise"> {{ee.entreprise.name}} </ng-container>

  </p>

当我删除此部分<ng-container *ngIf="ee?.entreprise"> {{ee.entreprise.name}} </ng-container>时,代码可以正常工作,并且浏览器可以显示所有协作者的姓名,但是当我尝试显示其角色或企业时,我无法..

2 个答案:

答案 0 :(得分:2)

ee.entreprise是一个数组,名称在那里不存在。 像下面的代码一样用另一个ngfor进行变形

<p *ngFor="let colab of collaborator">
   {{colab.name}} - 
    <ng-container *ngIf="colab.entreprise?.length"> 
        <span *ngFor="let ee of colab.entreprise"> 
            {{ee.name}} 
        </span>
    </ng-container>
  </p>

答案 1 :(得分:1)

ee.enterprise是一个数组,ee.enterprise.name不存在。 首先,必须对其进行索引。例如“ ee.enterprise[0].nameee.enterprise[1].name等。

ngFor数组很可能需要另一个ee.enterprise