Angular 如何将新项推送到空数组?

Angular 如何将新项推送到空数组?,angular,typescript,angular6,Angular,Typescript,Angular6,我有一个由*ngFor使用的studet数组, 学生列表发送bi父组件, 当studentList为空时,我希望看到组件上有一行为空, 这是阵列: @Input() studentList: Student[] = []; //child property 在父cmp中: get studentList(): Student[] { //parent property const arr: Array<Student> = new Array<Stu

我有一个由
*ngFor
使用的studet数组, 学生列表发送bi父组件, 当studentList为空时,我希望看到组件上有一行为空, 这是阵列:

 @Input() studentList: Student[] = []; //child property
在父cmp中:

 get studentList(): Student[] {      //parent property
      const arr: Array<Student> = new Array<Student>();
if (getStudents()){
      arr=getStudents();
}
else{
      arr.push(new Student());
      return (arr);
    }
  }
get studentList():Student[]{//parent属性
常量arr:Array=新数组();
if(getStudents()){
arr=getStudents();
}
否则{
arr.push(新学生());
返回(arr);
}
}
getStudents()
是一个返回null的模拟方法,
Student
是一个带有
idNumber
studentName
道具的简单类
但是,如果arr为空,则
*ngFor
不会显示任何行。

在这种情况下,您可以使用

*ngIf=studentList.length==0
使用此条件显示空行


*ngIf=studentList.length>0
在数据可用时使用此条件。

您可以尝试此条件:

get studentList(): Student[] {
    const arr: Array<Student> = [];
    if (arr.length){
       arr = getStudents();
    }else{
      arr = [new Student()];
    }
    return arr; // return it here.
}
get studentList():Student[]{
常量arr:Array=[];
if(阵列长度){
arr=getStudents();
}否则{
arr=[new Student()];
}
return arr;//在这里返回。
}

需要将学生声明为[]

get studentList(): Student[] {      //parent property
      const arr: Student[] = []
if (getStudents()){
      arr=getStudents();
}
else{
      arr.push(new Student());
      return (arr);
    }
  }

您可以在html文件中执行类似的操作

<table>
<thead>
------
</thead>
    <tbody>
    <tr *ngFor="student of students">
    </tr>
    <tr *ngIf="students.length==0">
    </tr>
    </tbody>
</table>

------

请向您展示
Student
类/接口和您的
getStudents()
方法,以及如何使变量和getter具有相同的名称?使用
*ngIf=“studentList.length”
并处理是否转到for循环。我通过注释更新了问题。当*ngIf=studentList.length==0,怎么能显示空行??这是我的问题…如果您使用的是一个表,您可以使用可以更新新学生的
空行,而不是空行