我不理解为什么我的价值访问是我的表中未定义InterviewID的原因:
<div *ngIf="personnelSelected" class="modal modal-default fade" id="modal-interviews">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title">
<i class="fa fa-pencil"></i>
Individual Interviews
</h4>
</div>
<app-interviews [personnel]="personnelSelected"></app-interviews>
</div>
</div>
</div>
在这样的父组件中调用它:
@Component({
selector: 'app-entretiens',
templateUrl: './entretiens.component.html',
providers: [ EntretiensService ]
})
export class EntretiensComponent implements OnChanges{
@Input() personnel: PersonnelInfo;
listInterview: Interview[];
ngOnChanges() {
this.interviewService.get({where: 'personnelInterviewedID=' + this.personnel.id})
.subscribe((interviews: Interview[]) => {
this.listInterview = Interviews;
});
}
}
personnelSelected在此父组件中从OnSelect方法获取其值。采访组件的工作方式如下:
<compilerArgs>
<arg>-parameters</arg>
</compilerArgs>
访谈服务.get功能使用where条件调用API。但这不是问题。我在想如何使用OnChanges方法存在问题,但我还没有弄清楚。你能启发我吗?
答案 0 :(得分:0)
这里:
<table class="table table-striped table-interviews">
<tbody>
<tr *ngIf="listInterview && listInterview.length !== 0">
<th>InterviewID</th>
</tr>
<tr *ngFor="let interview of listInterview">
<td>
<input type="text" name="commentaire" id="interviewID" class="form-control" [(ngModel)]="interview.InterviewID">
</td>
</tbody>
</table>
您的ngFor
在您的ngIf
语句之外。因此,如果listInterview
为空或为空,则undefined
是预期的结果