使用OnChanges在表中设置角度未定义的值

时间:2018-11-27 15:54:47

标签: angular angular-cli

我不理解为什么我的价值访问是我的表中未定义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方法存在问题,但我还没有弄清楚。你能启发我吗?

1 个答案:

答案 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是预期的结果