pagination in angularjs

2024-05-01 12:18
文章标签 angularjs pagination

本文主要是介绍pagination in angularjs,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

源自stackOverFlow

service

var rapid = angular.module('rapid');
rapid.service('pagerOptions', function () {
    'use strict';return {newOptions: function () {return {totalItems: 0,itemsPerPage: 50,page: 1,sortBy: '',isASC: true,filters: null,sortOptions: {by: '',isASC: true,sort: function (sortBy) {if (sortBy === this.parent.sortBy) {this.parent.isASC = !this.parent.isASC;} else {this.parent.sortBy = sortBy;this.parent.isASC = true;}this.parent.resetPage();if (typeof this.parent.onPageChange === "function")this.parent.onPageChange();}},resetPage: function () {this.page = 1;},goToPage: function (page) {this.page = page;if (typeof this.onPageChange === "function")this.onPageChange();},init: function () {this.sortOptions.parent = this; // it allows the Methods object to know who its Parent isdelete this.init; // if you don't need the Init method anymore after the you instanced the object you can remove itreturn this; // it gives back the object itself to instance it}}.init();}};
})

directive

rapid.directive('footerPager', function () {
    return {restrict: 'E',transclude: true,template:'<div class="col-xs-9 text-right" ng-cloak>\<span ng-if="options.totalItems > options.itemsPerPage">\<pagination \ng-model="options.page" \total-items="options.totalItems" \items-per-page="options.itemsPerPage" \ng-change="options.goToPage(options.page)" \max-size="5" rotate="false" boundary-links="true" \previous-text="&lsaquo;" next-text="&rsaquo;" \first-text="&laquo;" last-text="&raquo;" \class="pagination-sm">\</pagination>\</span>\</div>\,scope: {options: '='}}
});

html

<footer-pager options="pagingOptions" id="footer"/>

controller

rapid.controller('HomeListController',    ['$scope', 'adminSvc','pagerOptions',                                                                                       function auditLogCtrl($scope,adminSvc,pagerOptions) {       $scope.pagingOptions = pagerOptions.newOptions();$scope.pagingOptions.sortBy = "CreatedDate";$scope.pagingOptions.itemsPerPage = 10;$scope.pagingOptions.onPageChange = loadData; //loadData is a method load the data to the page.var numberOfSearchPerfomed = 0;$scope.data= {};function loadData() {$scope.pagingOptions.filters = selectedFilters;service.getData(vm.pagingOptions) //Method will fetch data from db and show in the view based on pagingOptions..success(function (result) {$scope.data= result.Data;$scope.pagingOptions.totalItems = result.TotalCount; // TotalCount represents the total number of records not page wise.$scope.enableResetButton = numberOfSearchPerfomed >= 1;});}loadData();
}])

这篇关于pagination in angularjs的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/951665

相关文章

AngularJS for login

web.xml <?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/n

数据视图(AngularJS)

<!DOCTYPE html><html ng-app="home.controller"><head><meta charset="utf-8"><title>数据视图</title><link href="page/common/css/bootstrap.min.css" rel="stylesheet"><script src="page/common/js/angular.js"></

【AngularJS】字符查找

首先,在页面的控制器代码中添加一个名为“key”的属性,用于保存用户在文本框中输入的字符内容,该属性初始化时为空值。         然后,通过“ng-repeat”指令显示数据时,调用Angular中的“filter”过滤器,并添加一个对象性字符参数,指定在数据对象的“name”属性中查找“key”值,即在“姓名”属性中查找文本框输入的字符,如果找到,则显示在列表中,否则不显示

mongoDB 多重数组查询 AngularJS绑定显示 nodejs

var Lesson = Schema({lessonName: String,intr: String,creTime: Date,sort: String, //分类imgUrl: String, //封面地址price: Number,teacher: String,//教师subTitle:[{lNo: Number,subLName: String,src: String,filter

AngularJS的ui-grid的列表数据实现换行

在公共css中添加如下: .ui-grid-cell-contents-break { padding: 5px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; overflow: hidden; height: 100%; word-break: break

AngularJS指令进阶 – ngModelController详解

AngularJS指令进阶 – ngModelController详解 在自定义Angular指令时,其中有一个叫做require的字段,这个字段的作用是用于指令之间的相互交流。举个简单的例子,假如我们现在需要编写两个指令,在linking函数中有很多重合的方法,为了避免重复自己(著名的DRY原则),我们可以将这个重复的方法写在第三个指令的controller中,然后在另外两个需

使用angularjs的键盘事件来增强用户体验

绑定键盘事件(尤其注意:不能用a标签,不然会失效) 推荐button 方法一:ng内置指令 <button ng-click="login()" ng-keypress="todoSomething($event)" class="btn btn-success btn-lg" ng-disabled="loginForm.$invalid">登录</button> 说明:在对应的控

angularjs中的工具方法(forEach等)

angular.bind(self, fn, args) 作用:返回一个新的函数,绑定这个函数的this指向self参数:  self:新函数的上下文对象fn:需要绑定的函数args:传递给函数的参数 返回值:this指向self的新函数 var obj = { name: 'xxx', print: function (country) { console.log(thi

《AngularJS》------自定义服务 provider、service、factory

在AngularJS中,我们经常将通用的业务逻辑封装在服务里面,这样一来,不仅减少了代码量,而且使出错率也降低了,代码的易读性也提高了,所以说,我们经常用到了业务逻辑,或者是说持久化数据化操作应该放在自定义的服务里面,而不是Controller里面。下面我说一下provider、service、factory的定义方式还有主要区别。     1、provider     Provide

《AngularJS》--指令的相互调用

人们喜欢AngularJS,因为他很有特色,其中他的指令和双向数据绑定很吸引着人们,那么,AngularJS的指令有什么作用哪?指令之间的是怎样相互调用的哪?        下面有一个小小的Demo,写的是AngularJS指令之间的相互调用,大家看一下。这个Demo是这样的,页面上有三个div,每个div绑定不同的指令,当我们用鼠标滑过三个div时以触发不同的事件。