私は既に同じ問題について多くの質問が掲載されていますが、私の場合は解決法はありません。ng-repeatはデータをレンダリングするのに時間がかかります
Webサービスを呼び出すと、JSON応答が返されます。このJSONには、テーブルにデータを表示する必要があるオブジェクトが2000以上あります。私はすべての(2000+)レコードをテーブルに表示したいと思います。はい、私は制限したり改ページすることはできません。単一のページに表示する必要があります(私はそれが愚かだと知っていますが、ソートや検索は必要ありません。
データ転送は約2MBで、リクエストは約2〜4秒で完了します。ページ上でのデータレンダリングには約10-15秒かかります。
私が探しているのは、スピードng-repeatバインディング(可能な場合)、またはデータを受信するとすぐにデータを表示し、すべての行が表示されるまで追加し続けることです。以下のコードアウト
チェック:
HTML
<table class="table table-bordered table-striped cf">
<thead style="color: #333;">
<tr>
<td>Asset Name</td>
<td>Date/ Time</td>
<td>Location</td>
<td>Ignition</td>
<td>Speed</td>
<td>Heading</td>
<td>Direction</td>
</tr>
</thead>
<tbody>
<tr ng-repeat="cols in tableData">
<td>{{ cols.aN }}</td>
<td>{{ cols.dT }}</td>
<td>{{ cols.Lat }}, {{ cols.Lon }}</td>
<td>{{ cols.I }}</td>
<td>{{ cols.S }}</td>
<td>{{ cols.H }}</td>
<td>{{ cols.D }}</td>
</tr>
</tbody>
</table>
JS
var ignition_text = '';
var lat = '';
var lon = '';
for (var i = 0; i < data.length; i++) {
if (data[i].ignition = 1) {
ignition_text = "On";
} else {
ignition_text = "Off";
}
$scope.$apply(function() {
$scope.tableData.push({
aN: name,
dT: data[i].eventUTCTime,
Lat: data[i].latitudeDegrees,
Lon: data[i].longitudeDegrees,
I: ignition_text,
S: data[i].speedMPH,
H: data[i].longitudeDegrees,
D: data[i].latitudeDegrees
});
});
}
事前に
ありがとう!
別のページからルーティングされ、このHTMLページですか? – Aravind
@Aravindはそうではありません –
:(2000行のデータを一度に読むことができる人) –