AngularJS ng-Grid CurrentPage数字无法显示

从网上搜罗一个ng-grid控件,自己动手学习时发现当前第几页没有显示,而其他的功能则一切都是OK的,原以为是我的js代码出现问题,一步步确认自己的代码没有问题后,所以我在源代码里面加了{{pagingOptions.currentPage}},但是经测试后发现currentPage是有数据的(如图一),后来把源代码里里面的 <input class=\"ngPagerCurrent\" min=\"1\" max=\"{{maxPages()}}\" type=\"number\" style=\"width:50px; height: 24px; margin-top: 1px; padding: 0 4px;\" ng-model=\"pagingOptions.currentPage\"/> type=\"number\"改成 type=\"text\"就好了(如图二),可是不知道为什么会这样,希望有人能解答一下




注明一下,我是先将一个子模块myApp.ctrl.dataGrid加入到模块myApp中,然后再将ngGrid到加入到myApp.ctrl.dataGrid中的,源代码如下

  1. <style type="text/css">  
  2.     .gridStyle {  
  3.         border: 1px solid rgb(212,212,212);  
  4.         width: 800px;  
  5.         height: 300px;  
  6.     }  
  7.   
  8.   
  9.     .green {  
  10.         background-color: green;  
  11.         color: white;  
  12.     }  
  13. </style>  
  14. <div class="row" data-ng-controller="myController">  
  15.     <div class="gridStyle" data-ng-grid="gridOptions">  
  16.     </div>  
  17. </div>  
[javascript] view plain copy print ?
  1. angular  
  2.     .module('myApp', [  
  3.         'myApp.ctrl.dataGrid'  
  4.     ])  
  5. angular  
  6.     .module('myApp.ctrl.dataGrid', ['ngGrid'])  
  7.     .controller('myController'function ($scope) {  
  8.   
  9.   
  10.         var self = this;  
  11.         //基本数据属性  
  12.         $scope.mySelections = [];  
  13.         //Grid数据  
  14.         $scope.myData = [];  
  15.         //Grid 筛选  
  16.         $scope.filterOptions = {  
  17.             filterText: '',  
  18.             useExternalFilter: false  
  19.         };  
  20.         //总共条目  
  21.         $scope.totalServerItems = 0;  
  22.         //设置相关页面数据  
  23.         $scope.pagingOptions = {  
  24.             pageSizes: [250, 500, 1000],//page 行数可选值  
  25.             pageSize: 250, //每页行数  
  26.             currentPage: 1, //当前显示页数  
  27.         };  
  28.         //操作方法设置  
  29.         self.getPagedDataAsync = function (pageSize, page, searchText) {  
  30.             setTimeout(function () {  
  31.                 var data;  
  32.                 if (searchText) {  
  33.                     var ft = searchText.toLowerCase();  
  34.                     data = largeLoad().filter(function (item) {  
  35.                         return JSON.stringify(item).toLowerCase().indexOf(ft);  
  36.                     });  
  37.                 }  
  38.                 else {  
  39.                     data = largeLoad();  
  40.                 }  
  41.   
  42.   
  43.                 var pagedData = data.slice((page - 1) * pageSize, page * pageSize);  
  44.                 $scope.myData = pagedData;  
  45.                 $scope.totalServerItems = data.length;  
  46.                 if (!$scope.$$phase) {  
  47.                     $scope.$apply();  
  48.                 }  
  49.             }, 100);  
  50.         };  
  51.   
  52.   
  53.         $scope.$watch('pagingOptions'function () {  
  54.             self.getPagedDataAsync($scope.pagingOptions.pageSize, $scope.pagingOptions.currentPage, $scope.filterOptions.filterText);  
  55.         },true);  
  56.         $scope.$watch('filterOptions'function () {  
  57.             self.getPagedDataAsync($scope.pagingOptions.pageSize, $scope.pagingOptions.currentPage, $scope.filterOptions.filterText);  
  58.         },true);  
  59.   
  60.   
  61.         self.getPagedDataAsync($scope.pagingOptions.pageSize, $scope.pagingOptions.currentPage);  
  62.   
  63.   
  64.         $scope.gridOptions = {  
  65.             data: 'myData',  
  66.             selectedItems: $scope.mySelections,  
  67.             showSelectionCheckbox: true,  
  68.             multiSelect: true,  
  69.             showGroupPanel: false,  
  70.             showColumnMenu: true,  
  71.             enableCellSelection: true,  
  72.             enableCellEditOnFocus: true,  
  73.             enablePaging: true,  
  74.             showFooter: true,  
  75.             totalServerItems: $scope.totalServerItems,  
  76.             filterOptions: $scope.filterOptions,  
  77.             pagingOptions: $scope.pagingOptions,  
  78.             i18n:'zh-cn',  
  79.             columnDefs: [  
  80.                 { field: 'name', displayName: 'Very Long Name Title', sortable: false },  
  81.                 { field: 'allowance', width: 120, aggLabelFilter: 'currency', cellTemplate: '<div ng-class="{red: row.entity[col.field] > 30}"><div class="ngCellText">{{row.entity[col.field] | currency}}</div></div>' },  
  82.                 { field: 'birthday', width: '120px', cellFilter: 'date', resizable: false },  
  83.                 { field: 'paid', width: '*', cellFilter: 'checkmark' }]  
  84.         };  
  85.     }); 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值