2017-09-17 96 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