1.官网链接 https://github.com/esvit/ng-table#4.0.0
2.安装ngTable后,一定要记得先注册到自己的项目
.module('pttengApp', [
'ngAnimate',
'ngCookies',
'ngResource',
'ngRoute',
'ngSanitize',
'ngTouch',
'mgcrea.ngStrap',
'ngTable'
])
3.编辑使用ngTable的controller JS文件
angular.module('pttengApp') .controller('ArticlelistCtrl', function ($scope,$location,ArticleService,NgTableParams) {/*NgTableParams一定要放在正确的位置*/ var self=this; var simplelist=ArticleService.getAll(); /*这个就是传给NgTableParams的数据,也就是我们table里要显示的各行数据*/ self.tableParams=new NgTableParams({ count: 5},{counts: [5, 10, 20],dataset:simplelist}); self.selectedPageSizes=self.tableParams.settings().counts; self.availablePageSizes = [5, 10, 15, 20, 25, 30, 40, 50, 100]; self.changePage = changePage; function changePage(nextPage){ self.tableParams.page(nextPage); } function changePageSize(newSize){ self.tableParams.count(newSize); } function changePageSizes(newSizes){ // ensure that the current page size is one of the options if (newSizes.indexOf(self.tableParams.count()) === -1) { newSizes.push(self.tableParams.count()); newSizes.sort(); } self.tableParams.settings({ counts: newSizes}); } });
4.html部分的书写
<table ng-table="articlelist.tableParams" show-filter="true" class="table table-hover">/*黑色高亮的就是使用ngTable的controller name*/ <tr ng-repeat="article in $data">/*强调这个$data就是说这个很关键,这个data是tableParams里的data数组,也就是通过dataset添加进去要显示的各行数据*/ <td>{{article.id}}</td> <td>{{article.name}}</td> <td>{{article.type}}</td> <td>{{article.createtime}}</td> <td>{{article.lastmodifiedtime}}</td> </tr> </table>
*************************
利用 yo angular:service Article-Service创建一个服务,生成的js文件里面可以创建一个构造函数,属性是JSON数据,方法就用来返回这些数据,然后我们就可以利用这个服务提供的数据进行前端功能的测试啦(在需要用到他的controller里面注人这个service,比如
.controller('ArticlelistCtrl', function ($scope,$location,ArticleService,NgTableParams) {
)
'use strict'; /** * @ngdoc service * @name pttengApp.ArticleService * @description * # ArticleService * Service in the pttengApp. */ angular.module('pttengApp') .service('ArticleService', function () { // AngularJS will instantiate a singleton by calling "new" on this function var articles = [ { "id": "1", "name": "行业动态", "type": "行业", "createtime": "2017-05-06", "lastmodifiedtime": "2017-05-06", "createuser": "admin", "status": "0", "operation": "delete" }, { "id": "2", "name": "JSON", "type": "语法", "createtime": "2017-05-06", "lastmodifiedtime": "2017-05-06", "createuser": "admin", "status": "0", "operation": "delete" } ]; return { getAll: function () { return articles; }, getById: function () { for (var i = 0; i < articles.length; i++) { if (articles[i].id === id) { return articles[i]; } } return null; } }; });