Javascript 如何编写用于分页的AngularJS指令?

Javascript 如何编写用于分页的AngularJS指令?,javascript,angularjs,Javascript,Angularjs,我正试图编写一个AngularJS指令来帮助我分页。我希望用户能够看到多达5个编号链接(1,2,3,4,5)时,搜索的东西。如果有超过5页的结果,他们将能够单击箭头>并查看链接6-10等等 这就是我到目前为止所拥有的,请注意,我不确定如何完成'element.attr'行: var ReportsApp = angular.module('ReportsApp', []); ReportsApp.directive('paginate', function () { return {

我正试图编写一个AngularJS指令来帮助我分页。我希望用户能够看到多达5个编号链接(1,2,3,4,5)时,搜索的东西。如果有超过5页的结果,他们将能够单击箭头>并查看链接6-10等等

这就是我到目前为止所拥有的,请注意,我不确定如何完成'element.attr'行:

var ReportsApp = angular.module('ReportsApp', []);

ReportsApp.directive('paginate', function () {
    return {
        restrict: 'A',
        transclude: true,
    scope: {
        page: '=page'
    },
    link: function (scope, element, attrs) {
        var page = scope.page;
        updatePage();

        function updatePage() {
            if (page <= 5) {
                for (page = 1; page <= 5; page++) {
                    element.attr('paginate')
                }
            }
        }
    }
}
});
var ReportsApp=angular.module('ReportsApp',[]);
ReportsApp.指令('paginate',函数(){
返回{
限制:“A”,
是的,
范围:{
页面:'=页面'
},
链接:函数(范围、元素、属性){
var page=scope.page;
updatePage();
函数updatePage(){

如果(第页),为什么不使用一个模板并重复?类似这样:

template: '<div id="pages">
            <a href="#" paginate page="n" ng-repeat="n in pages" ></a>
        </div>'
模板:'
'
下面是一个示例:

return {
        restrict: 'A',
        transclude: true,
    scope: {
        page: '=page'
    },
    template: '<div id="pages">
        <a href="#" paginate page="n" ng-repeat="n in pages" ></a>
    </div>'
    link: function (scope, element, attrs) {
    ...
返回{
限制:“A”,
是的,
范围:{
页面:'=页面'
},
模板:'
'
链接:函数(范围、元素、属性){
...

我已经为我的项目实现了类似的功能。请检查下面的代码。 在任何具有垂直滚动的html元素上使用此指令

(功能(ng){
"严格使用",;
ng.module('commonUtilsModule')
/**
此指令用于在鼠标向下滚动时从后端加载记录
*/
.directive('fosWhenScrolled',function(){
返回函数(范围、elm、属性){
var raw=elm[0];
elm.bind('scroll',function(){
if(raw.scrollTop+raw.offsetHeight>=raw.scrollHeight){
适用范围:$apply(滚动时的附加值);
}
});
};
});
}(角度);

但是,如果你用谷歌搜索,我必须强调angular的寻呼机已经存在:
return {
        restrict: 'A',
        transclude: true,
    scope: {
        page: '=page'
    },
    template: '<div id="pages">
        <a href="#" paginate page="n" ng-repeat="n in pages" ></a>
    </div>'
    link: function (scope, element, attrs) {
    ...