Я все еще новичок в AngularJS, поэтому я просто пытаюсь сделать простое приложение CRUD. В настоящее время я вытаскиваю данные (в файле JSON) с $http
в div
, обрабатываемом контроллером MyCtrl1
.
function MyCtrl1($scope, $http) {
$http.get('data/accounts.json').success(function(data) {
$scope.accounts = data;
...
});
}
Внутри этого div
есть table
со следующим tbody
:
<tbody>
<tr ng-repeat="account in accounts | orderBy:sort.field:sort.desc | startFrom:currentPage * pageSize | limitTo:pageSize">
<td contentEditable="true" ng-repeat="(label, value) in account" ng-show="fields[label].visible">{{value}}</td>
</tr>
</tbody>
Фильтр orderBy
сортируется в соответствии с выбранным полем; startFrom
срезает массив, чтобы начать с определенной точки; limitTo
фильтрует в соответствии с заданным размером страницы. Без фильтров разбиения на страницы производительность была довольно ужасной, но мне было интересно, есть ли альтернативный способ сделать это?
У меня есть Batarang для Chrome, а на вкладке Performance он показал ngRepeatWatch
больше времени, и я считаю, что это связано со всей фильтрацией, которую я делаю.