angularjs前端分页自定义指令pagination

在table的后面:
<div class="panel-footer">
<nav class="pull-right">
<pagination num-pages="pages" curr-page="page" on-select-page="selectPage(page)"></pagination>
</nav>
</div>

js里面
.directive(‘pagination‘, function(){
return {
restrict: ‘E‘,
scope: {
numPages: ‘=‘,
currPage: ‘=‘,
onSelectPage: ‘&‘
},

template: ‘<ul class="pagination">‘
+‘<li ng-class="{disabled: noPreviousPage()}">‘
+‘<a ng-click="selectPage(1)">首页</a>‘
+‘</li>‘

+‘<li ng-class="{disabled: noPreviousPage()}">‘
+‘<a ng-click="selectPreviousPage()">上一页</a>‘
+‘</li>‘

+‘<li ng-repeat="page in pages" ng-class="{active: isActivePage(page)}">‘
+‘<a ng-click="selectPage(page)">{{page}}</a>‘
+‘</li>‘

+‘<li ng-class="{disabled: noNextPage()}">‘
+‘<a ng-click="selectNextPage()">下一页</a>‘
+‘</li>‘

+‘<li ng-class="{disabled: noNextPage()}">‘
+‘<a ng-click="selectPage(pages.length)">尾页</a>‘
+‘</li>‘

+‘</ul>‘,

replace: true,
link: function(s){
s.$watch(‘numPages‘, function(value){
s.pages = [];

for(var i=1;i<=value;i++){
s.pages.push(i);
}

if(s.currPage > value){
s.selectPage(value);
}
});

//判读是否有上一页
s.noPreviousPage = function(){
return s.currPage === 1;
};

//判断是否有下一页
s.noNextPage = function(){
return s.currPage === s.numPages;
};

//判断当前页是否被选中
s.isActivePage = function(page){
return s.currPage===page;
};

//选择页数
s.selectPage = function(page){
if(!s.isActivePage(page)){
s.currPage = page;

s.onSelectPage({ page:page });
}
};

//选择下一页
s.selectNextPage = function(){
if(!s.noNextPage()){
s.selectPage(s.currPage+1);
}
};

//选择上一页
s.selectPreviousPage = function(){
if(!s.noPreviousPage()){
s.selectPage(s.currPage-1);
}
};
}
};
});

时间: 2024-08-05 15:34:51

angularjs前端分页自定义指令pagination的相关文章

【AngularJS】—— 8 自定义指令

AngularJS支持用户自定义标签属性,在不需要使用DOM节点操作的情况下,添加自定义的内容. 前面提到AngularJS的四大特性: 1 MVC 2 模块化 3 指令 4 双向数据绑定 下面将会介绍如下的内容: 1 如何自定义指令 2 自定义指令的使用 3 自定义指令的内嵌使用 如何自定义指令: Angular是基于模块的框架,因此上来肯定要创建一个自己的模块: var myAppModule = angular.module("myApp",[]); 然后在此模块基础上创建指令d

angularJs工作日记-自定义指令Directive01

新项目组使用完善的angularMVVM设计思路架构,很庆幸能够来到这个项目组,在这里的每一天都能够学习到新的知识,为了防止以后忘记,记录一下个人的理解 首先接触最多的是directive,directive目前用到了以下几个属性, restrict,scope,link,templateUrl 首先是restrict:这个无需多说,用来定义自定义指令的使用形式,包括A属性,E标签,C是class,M是备注,最常用的就是EA,尤其是E可以在标签中使用自定义属性传参给父controller,或者定

AngularJs 第一个自定义指令编写

公司在做一个OA系统, 包括移动端(从微信企业号进入OA系统),电脑端. 电脑端还是用的传统的easyui做界面,asp.net mvc作为服务端.这个技术已经很成熟了配合权限框架很快就能开发出来.但是手机端之前团队也没有什么经验,我之前做过一个jqureymobile的项目,但是这个框架实在是太卡了,直接pass掉.恰好之前有自学一点点angularjs 所以我就推荐手机端的项目使用angularjs来开发,一来团队可以学习一些新技术跟上潮流,二来单页程序很适合我们目前的这个小项目,三是我们以

angularJS前端分页插件

首先在项目中引入 分页插件的 js 和 css: 在html页面引入 相关js 和 css: 在控制器中引入分页插件中定义的 module[可以打开pagination.js查看,可以看到 其实,在插件里面,它定义了一个单独的 module,所以我们在控制器中使用分页插件时,要先注入 这个 module ] 然后我们就可以在想要出现分页控件的位置,加上一个标签: 加上这个标签,就会在这里出现分页,注意,它有个属性 conf 这里定义的名字是 paginationConf,这个属性是个对象,它可以

AngularJS自定义指令详解(有分页插件代码)

前言 除了 AngularJS 内置的指令外,我们还可以创建自定义指令. 通过 .directive() 函数来添加自定义的指令. 调用自定义指令时,需要在HTMl 元素上添加自定义指令名. 自定义指令命名规则:使用驼峰命名法来命名,即除第一个单词外的首字母需大写.如: myDirective. 在html页面调用该指令时需要以 - 分割,如: my-directive.示例代码: <body ng-app="myApp"> <my-directive><

angularjs自定义指令实现分页插件

由于最近的一个项目使用的是angularjs1.0的版本,涉及到分页查询数据的功能,后来自己就用自定义指令实现了该功能.现在单独做了个简易的小demo,主要是为了分享自己写的分页功能.注:本实例调用的是真实接口数据. 首先.小demo的目录结构如下: 一.代码部分 下面直接把每一个文件的代码贴出来,重点是ListCtrl.js和pageDirective.js: 1.index.html <!DOCTYPE html> <html lang="en" ng-app=&

AngularJS笔记--自定义指令

在前端开发中, 我们会遇到很多地方都会用到同一种类型的控件.AngularJS提供了自定义指令功能,我们可以在指令里面定义特定的html模板.提供给前台html调用. 一. 指令的简单定义.  下面定义了一个简单的控件,点击后调转到博客园. Note: 1.命名方式:directive必须以小写字母开头,其中如果后面由大写字母,html调用的时候就要用 - 将单词分开. <html> <script src='angular.js'></script> <scri

带你走近AngularJS - 创建自定义指令

为什么使用AngularJS 指令? 使用过 AngularJS 的朋友应该最感兴趣的是它的指令.现今市场上的前端框架也只有AngularJS 拥有自定义指令的功能,并且AngularJS 是目前唯一提供Web应用可复用能力的框架. 目前有很多JavaScript 产品提供插件给Web开发人员.例如, Bootstrap 就是当前比较流行的提供样式和JavaScript插件的前端开发工具包.但是开发人员在使用Booostrap中的插件时, 必须切换到JavaScript 模式来写 jQuery

走进AngularJs(五)自定义指令----(下)

自定义指令学习有段时间了,学了些纸上谈兵的东西,还没有真正的写个指令出来呢...所以,随着学习的接近尾声,本篇除了介绍剩余的几个参数外,还将动手结合使用各参数,写个真正能用的指令出来玩玩. 我们在自定义指令(上)中,写了一个简单的<say-hello></say-hello>,能够跟美女打招呼.但是看看人家ng内置的指令,都是这么用的:ng-model="m",ng-repeat="a in array",不单单是作为属性,还可以赋值给它,与