过滤数组的大小限制,Angular 6?

时间:2018-12-20 21:47:52

标签: angular

我有一个对SQL表的HTTP GET调用,该表将一个大型数组引入Angular。然后,我过滤数组以使其名称与表单中输入的ID相匹配。所有这些工作正常,然后它随机停止工作,而无需我进行任何更改。我以前用过所有这些代码,但从未在如此大的SQL表上使用过。开发人员工具中的“网络”标签(我认为)显示该呼叫正在运行。我的状态为200,大小为3.3 MB。这个大数组对象对Angular来说太多了吗?当我触发文件管理器的结果时,随机错误为“无法读取未定义的属性'filter'”。

 public studentNameData: Array<any>;
 public filteredName: Array<any>;

  private _ClassTimesStudentID: any;
  get ClassTimesStudentID(): any {
  return this._ClassTimesStudentID; }

 set ClassTimesStudentID(value: any) {
 this._ClassTimesStudentID = value; 
 this.filteredName = this.filterStudent(value);}

 filterStudent(ClassTimesStudentID: any) {
 return this.studentNameData.filter(name => name.studentIdother === 
this.ClassTimesStudentID);
}

 constructor(private loginService: LoginService, private 
 dataStorageService: DataStorageService) {
dataStorageService.getStudentDataAll().subscribe((importName: any) => 
this.studentNameData = importName); }

这是HTML组件。过滤器工作时,会将正确的名称输入。

<div class="col-sm-5 form-group">
      <label for="name">Student ID</label>
      <input type="text" id="ClassTimesStudentID" class="form-control" 
name="ClassTimesStudentID" [(ngModel)]="ClassTimesStudentID"> 
    </div>  

      <button class="btn btn-success" type="submit" [disabled]="!f.valid"> 
   {{ editMode ? 'Update' : 'Add' }}</button>

 <div *ngFor="let nam of filteredName; let in = index" class="form-group">
            <label for="ClassTimesStudentName-input"> Name </label>
          <input type="text" name="studentName-{{in}}" 
[(ngModel)]="nam.studentName" name="ClassTimesStudentName">       
          </div>

0 个答案:

没有答案