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,怎么能显示空行??这是我的问题…如果您使用的是一个表,您可以使用可以更新新学生的
空行,而不是空行