2017-09-17 69 views
1

我有两个数组,其中一个用于数据'data_list',第二个用于从第一个数据检索数据的键,这里的My Issue是data_list包含1900行和每行20个字段,性能变得太慢,页面在大约20秒内加载。* ngFor性能太慢

如何提高此表的性能?

<tbody> 
      <tr *ngFor="let data of data_list;let last = last;let i = index;" #FireJQuery> 

        <td class="width-percent-1 sorting_1" tabindex="0"></td> 
        <td *ngFor="let col of Descriptive_FieldsMap;let i = index;"> 

        <div > 
         {{data[col.DBName] || 'N/A'}} 
        </div> 
       </td> 
       </tr> 
     </tbody> 

TS码

this._bondServices.getBonds(this._localStorageService.get('userID').toString(), this.rulebookID, this._localStorageService.get('Project').toString()) 

         .subscribe(
          data_list => 
          { 
           this.data_list = data_list; 


          }, //Bind to view 
          err => { 
           // Log errors if any 
           console.log(err); 
          }, 
          () => {if(this.data_list) window.dispatchEvent(new CustomEvent('bonds-ready'));}); 

}

Services.ts代码

return this._http.get(link) 
         .map((res:Response) => res.json()) // ...and calling .json() on the response to return data 
         .catch((error:any) => Observable.throw(error.json().error || 'Server error')); 
+1

你使用承诺或observables。用打字稿代码更新帖子 – Aravind

+0

@Aravind我正在使用observables,发布更新。 – tyehia

+1

我经常想知道人们何时提出这样的问题;你可能会做什么,你需要在网页上渲染1900行数据?用户不太可能读取这样的每一行数据,并且如果您将其生成为您希望打印的报表,那么报表引擎更适合执行此任务...... – Claies

回答

0

这应该只是一个评论,但我的应用程序可以在毫秒装载1400项,而我正在寻找电子产品。每页有40项,总页数为36页。见下图。 enter image description here