मैं AngularJS 1.2.15 के साथ एक पृष्ठांकन निर्देश का निर्माण करने की कोशिश कर रहा हूँ:
यह मेरे विचार है:
<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>
और यहाँ मेरी पृष्ठांकन निर्देश है:
app.directive('pagination', function(){
return {
restrict: 'A',
templateUrl: 'partials/pagination.html',
scope: {
data: '=data',
limit: '=limit'
}
}
})
सब कुछ अंकन निर्देश के बिना पूरी तरह से ठीक काम करता है। हालांकि जैसे ही मैं पृष्ठ लोड करता हूं, मेरे नए निर्देश के साथ मुझे $rootScope:infdig
त्रुटि मिलती है जो मुझे समझ में नहीं आती है क्योंकि निर्देश अनंत डेटा में समाप्त होने वाले डेटा में हेरफेर करने के लिए कुछ भी नहीं कर रहा है।
यहां समस्या क्या है और मैं इसे कैसे हल कर सकता हूं? धन्यवाद!
अद्यतन:
यहां नियंत्रक और संसाधन हैं।
नियंत्रक:
usersModule.controller('usersController',
function ($scope, Users) {
function init(){
$scope.users = Users.get();
}
init();
})
संसाधन (एक REST API से एक सरणी के रूप में उपयोगकर्ताओं हो जाता है): http://plnkr.co/edit/9GCE3Kzf21a7l10GFPmy?p=preview
बस में टाइप करें:
app.factory('Users', function($resource) {
return $resource('http://myrestapi.tld/users', null,{
'get': { method:'GET', isArray: true, cache: true }
});
});
अद्यतन 2
यहाँ एक डेमो है बाएं इनपुट में एक अक्षर (जैसे "एफ")।
कृपया नियंत्रक के लिए कोड निर्दिष्ट करें ताकि लोग समस्या तक पहुंच सकें। मुझे लगता है कि उपर्युक्त निर्देश सही है। आपके नियंत्रक के साथ समस्या हो सकती है। –
सरल क्लाइंट साइड पेजिनेशन - http://angulartutorial.blogspot.in/2014/03/client-side-pagination-using-angular-js.html – Prashobh
@ जेनिशराबादिया मैंने उपरोक्त कोड अपडेट किया। हालांकि, मुझे नहीं लगता कि इसका मेरे नियंत्रक के साथ कुछ भी करना है ... – Horen