Sto cercando di costruire una direttiva impaginazione con angularjs 1.2.15:
Questa è la mia opinione:
<input type="text" ng-model="filter.user">
<input type="number" ng-model="filter.limit" ng-init="filter.limit=5">
<ul>
<li ng-repeat="user in (filteredUsers = (users | orderBy:order:reverse | filter:filter.user) | limitTo: filter.limit)" ng-click="showDetails(user)">
{{user.id}}/{{user.firstname}} {{user.lastname}}
</li>
</ul>
<div pagination data='filteredUsers' limit='filter.limit'></div>
ed ecco la mia direttiva impaginazione:
app.directive('pagination', function(){
return {
restrict: 'A',
templateUrl: 'partials/pagination.html',
scope: {
data: '=data',
limit: '=limit'
}
}
})
Tutto funziona perfettamente senza la direttiva di impaginazione. Tuttavia con la mia nuova direttiva non appena carico la pagina ottengo un errore che non capisco dato che la direttiva non sta facendo nulla per manipolare i dati che potrebbero finire in un ciclo infinito.
Qual è il problema qui e come posso risolverlo? Grazie!
Aggiornamento:
Ecco il controller e la risorsa.
Controller:
usersModule.controller('usersController',
function ($scope, Users) {
function init(){
$scope.users = Users.get();
}
init();
})
Resource (ottiene utenti come una matrice da un API REST):
app.factory('Users', function($resource) {
return $resource('http://myrestapi.tld/users', null,{
'get': { method:'GET', isArray: true, cache: true }
});
});
Update 2
Ecco una demo: http://plnkr.co/edit/9GCE3Kzf21a7l10GFPmy?p=preview
basta digitare una lettera (es. "f") nell'input sinistro.
Specificare il codice per il controller in modo che le persone possano raggiungere il problema. Penso che la direttiva sopra sia perfetta. Ci possono essere problemi con il tuo controller. –
paginazione lato client semplice - http://angulartutorial.blogspot.in/2014/03/client-side-pagination-using-angular-js.html – Prashobh
@JenishRabadiya Ho aggiornato il codice sopra. Tuttavia, non penso che abbia nulla a che fare con il mio controller ... – Horen