2017-03-24 3 views
1

schaffen i wurde eine Probe Paginierung für das ich versucht, eine Richtlinie wie diese erstellt haben (bin nicht sicher, ob seine korrekte)wie benutzerdefinierte Richtlinie in Winkel

(function() { 
app.directive("myPagination", function() { 
    return { 
     restrict: 'E', 
     templateUrl: 'pag.html' 
    }; 
}); 
})(); 

und meine pag.html

<ul class="pagination" ng-controller="PagingController"> 
<li ng-repeat="x in pageing" ng-click="change(x.pageno)"><a href="#">{{x.pageno}}</a></li> 
</ul> 

ist und mein PageingController ist wie dies

app.controller('PagingController', function($scope) { 
    $scope.$on('pageinfo', function(event, args) { 
     $scope.numbtn = args.numbtn; 
     $scope.totaldata = args.totaldata; 
     $scope.selet = args.selet; 
     $scope.starter(); 
    }) 

    $scope.starter = function() { 
     $scope.pageing = []; 
     let i; 
     for (i = 0; i < $scope.numbtn; i++) { 
      $scope.pageing[i] = i; 
     } 
     console.log($scope.pageing); 
    } 
    $scope.change = function(btnclk) { 
     alert(btnclk); 
    } 
}); 

und <my-pagination></my-pagination> dieses So habe ich es auf der Indexseite versucht. aber das Problem ist, es ist nicht zeigt, was auch nur kann keine Fehler jeder korrigieren diese bitte

+0

mmm überprüfe einfach den Pfad deiner templateUrl der Direktive ... es muss von der Wurzel deines Projekts sein –

+1

Du solltest 'ng-controller' nicht in der Vorlage für' directive' haben. – Arg0n

+0

Lesen Sie [AngularJS-Entwicklerhandbuch - Erstellen von benutzerdefinierten Richtlinien] (https://docs.angularjs.org/guide/directive). Siehe auch [AngularJS Comprehensive Directive API Referenz] (https://docs.angularjs.org/api/ng/service/$compile#directive-definition-object). – georgeawg

Antwort

2

Fügen Sie den PageingController Controller anstelle der Vorlage

(function() { 
app.directive("myPagination", function() { 
    return { 
     restrict: 'E', 
     templateUrl: 'pag.html', 
     controller : 'PagingController' 
    }; 
}); 
})() 

Demo

Stellen Sie sicher, Teilnehmer Ereignis Richtlinie $on ausführt . Sonst ist das Seitenarray leer

+0

Ich habe versucht, dies aber 'Fehler beim Abruf: ng: Bad Argument Argument 'PageingController' areq ist keine Funktion, bekam undefined ' Fehler – Edison

+1

Schreibfehler sollten 'sein PagingController' –

+0

jetzt seine nicht immer Fehler ... aber '' wird nicht angezeigt .. ich irre woanders ..? – Edison

Verwandte Themen