最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Angularjs 實現(xiàn)分頁功能及示例代碼

 更新時間:2016年09月14日 11:53:33   作者:garfieldzf  
這篇文章主要介紹了Angularjs 實現(xiàn)分頁功能及示例代碼的相關(guān)資料,需要的朋友可以參考下

基于Angularjs實現(xiàn)分頁

前言

       學(xué)習(xí)任何一門語言前肯定是有業(yè)務(wù)需求來驅(qū)動你去學(xué)習(xí)它,當(dāng)然ng也不例外,在學(xué)習(xí)ng前我第一個想做的demo就是基于ng實現(xiàn)分頁,除去基本的計算思路外就是使用指令封裝成一個插件,在需要分頁的列表頁面內(nèi)直接引用。

插件

      在封裝分頁插件時我實現(xiàn)了幾種方式總體都比較零散,最后找到了一個朋友(http://www.miaoyueyue.com/archives/813.html)封裝的插件,覺還不錯,讀了下他的源碼就直接在項目中使用了。

原理和使用說明

      1、插件源碼主要基于angular directive來實現(xiàn)。

      2、調(diào)用時關(guān)鍵地方是后臺請求處理函數(shù),也就是從后臺取數(shù)據(jù)。

      3、插件有兩個關(guān)鍵參數(shù)currentPage、itemsPerPage,當(dāng)前頁碼和每頁的記錄數(shù)。

      4、實現(xiàn)方法調(diào)用后我們需要根據(jù)每次點擊分頁插件頁碼時重新提交后臺來獲取相應(yīng)頁碼數(shù)據(jù)。 在調(diào)用的頁碼中我使用了$watch來監(jiān)控。  我初次使用時是把調(diào)用函數(shù)放在了插件的onchange中,結(jié)果發(fā)現(xiàn)每次都會觸發(fā)兩次后臺。這個地方需要注意。

      5、我把請求后臺封裝成了Service層,然后在Controller里調(diào)用,也符合MVC思想。

效果圖


 

調(diào)用代碼

<div ng-app="DemoApp" ng-controller="DemoController">
 <table class="table table-striped">
  <thead>
   <tr>
    <td>ID</td>
    <td>FirstName</td>
    <td>LastName</td>
    <td>Status</td>
    <td>Address</td>
   </tr>
  </thead>
  <tbody>
   <tr ng-repeat="emp in persons">
    <td>{{emp.ID}}</td>
    <td>{{emp.FirstName}}</td>
    <td>{{emp.LastName}}</td>
    <td>{{emp.Status}}</td>
    <td>{{emp.Address}}</td>
   </tr>
  </tbody>
 </table>
 <tm-pagination conf="paginationConf"></tm-pagination>
</div>
<script type="text/javascript">
 var app = angular.module('DemoApp', ['tm.pagination']);
 
 app.controller('DemoController', ['$scope', 'BusinessService', function ($scope, BusinessService) {
 
  var GetAllEmployee = function () {
 
   var postData = {
    pageIndex: $scope.paginationConf.currentPage,
    pageSize: $scope.paginationConf.itemsPerPage
   }
 
   BusinessService.list(postData).success(function (response) {
    $scope.paginationConf.totalItems = response.count;
    $scope.persons = response.items;
   });
 
  }
 
  //配置分頁基本參數(shù)
  $scope.paginationConf = {
   currentPage: 1,
   itemsPerPage: 5
  };
 
  /***************************************************************
  當(dāng)頁碼和頁面記錄數(shù)發(fā)生變化時監(jiān)控后臺查詢
  如果把currentPage和itemsPerPage分開監(jiān)控的話則會觸發(fā)兩次后臺事件。
  ***************************************************************/
  $scope.$watch('paginationConf.currentPage + paginationConf.itemsPerPage', GetAllEmployee);
 }]);
 
 
 //業(yè)務(wù)類
 app.factory('BusinessService', ['$http', function ($http) {
  var list = function (postData) {
   return $http.post('/Employee/GetAllEmployee', postData);
  }
 
  return {
   list: function (postData) {
    return list(postData);
   }
  }
 }]);
</script>

 插件和Demo下載

http://yunpan.cn/cQEhnLrpnkniQ  訪問密碼 be74

以上就是AngularJS 實現(xiàn)分頁功能的資料整理,后續(xù)繼續(xù)補充相關(guān)資料,謝謝大家對本站的支持!

相關(guān)文章

最新評論

天柱县| 临泽县| 昌图县| 贡嘎县| 基隆市| 武清区| 马公市| 关岭| 乐亭县| 巴彦县| 吉首市| 定州市| 潍坊市| 广昌县| 多伦县| 吴旗县| 和龙市| 台州市| 宜兰县| 浦城县| 临清市| 邵武市| 天峻县| 繁昌县| 永康市| 大港区| 怀化市| 济宁市| 黄石市| 沙湾县| 长沙市| 故城县| 瑞安市| 两当县| 石景山区| 柘城县| 南木林县| 民权县| 韶山市| 始兴县| 汶上县|