本篇文章主要介绍了angularJs中datatable实现代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
本文介绍了angularJs中datatable实现,有需要的小伙伴可以参考下
html引用derective:
复制代码 代码如下:
<table datatable dtOptions="dtOptionsExample2" class="table table-striped m-b-none"></table>
controller设置:
$scope.dtOptions = { "bProcessing": true, "bServerSide": true, iDisplayLength: 5, sAjaxSource: 'http://10.188.192.200:8080/employee/page?deptId='+ data, sAjaxDataProp: 'aaData', "sDom": "<'row'<'col-sm-6'l><'col-sm-6'f>r>t<'row'<'col-sm-6'i><'col-sm-6'p>>", sPaginationType: "full_numbers", "aoColumns": [ { "mData": "employeeId" }, { "mData": "employeeName", "sClass": "center", "mRender": function(data,type,full) { return '<a class="emplyeeInfoLink" href="javascript:;" rel="external nofollow" >阿司法所</a>'; } }, { "mData": "employeeEmail" }, { "mData": "employeeMobilePhoneMaster" } ], /*"aoColumnDefs":[ { "aTargets":[4], "mData": null } ],*/ "fnServerData": function( sUrl, aoData, fnCallback, oSettings ) { oSettings.jqXHR = $.ajax({ "url": sUrl, beforeSend: function(xhr) { xhr.withCredentials = true; }, "data": aoData, "type": 'get', "success": fnCallback, "cache": false }); } }
angular.datatable.js:
angular.module('datatablesDirectives', []).directive('datatable', function ($http) { return { // I restricted it to A only. I initially wanted to do something like // <datatable> <thead> ... </thead> </datatable> // But thead elements are only valid inside table, and <datatable> is not a table. // So.. no choice to use <table datatable> restrict: 'A', link: function ($scope, $elem, attrs) { var options = {}; // Start with the defaults. Change this to your defaults. options = {} // If dtOptions is defined in the controller, extend our default option. if (typeof $scope.dtOptions !== 'undefined') { angular.extend(options, $scope.dtOptions); } // If dtoptions is not declared, check the other options if (attrs['dtoptions'] === undefined) { // Get the attributes, put it in an options // We need to do a switch/case because attributes does not retain case // and datatables options are case sensitive. Damn. It's okay! We need to detect // the callbacks anyway and call it as functions, so it works out! // I put what I needed, most of my settings are not dynamics except those 2. for (property in attrs) { switch (property) { // This is the ajax source case 'sajaxsource': options['sAjaxSource'] = attrs[property]; break; // This is the ajax data prop. For example, your result might be // {code: 200, data: [ .. ]} -> in the case, sAjaxDataProp is data case 'sajaxdataprop': options['sAjaxDataProp'] = attrs[property]; break; } } } else { // If dtoptions is declare, extend the current options with it. angular.extend(options, $scope.dtOptions); } // Just some basic validation. if (typeof options['sAjaxSource'] === 'undefined') { throw "Ajax Source not defined! Use sajaxsource='/api/v1/blabla'"; } // for Angular http inceptors if (typeof options['fnServerData'] === 'undefined') { options['fnServerData'] = function (sSource, aoData, resultCb) { $http.get(sSource, aoData).then(function (result) { resultCb(result.data); }); }; } // Get the column options, put it in a aocolumn object. // Obviously, mdata is the only one required. // I personally just needed those 3, if you need other more feel free to add it. // mData also accepts a function; I'm sure there's a more elegant way but for now // it detects if it's a function, and if it is, do it. options.aoColumns = []; // Get the thead rows. $elem.find('thead th').each(function() { var colattr = angular.element(this).data(); //console.log(colattr); //console.log('demodeo'); // Detects if it's a function. Must exist in scope. if (colattr.mdata.indexOf("()") > 1) { // Simple one-liner that removes the ending () var fn = $scope[colattr.mdata.substring(0, colattr.mdata.length - 2)]; // Throw an error if it's not a function. if (typeof fn === 'function') { options.aoColumns.push({ mData: fn, sClass: colattr.sclass, bVisible: colattr.bvisible, mRender: colattr.mrender }); } else { throw "mData function does not exist in $scope."; } } else { //console.log('<1?'); options.aoColumns.push({ mData: colattr.mdata, sClass: colattr.sclass, bVisible: colattr.bvisible, mRender: colattr.mrender }); } }); // Load the datatable! $elem.dataTable(options); //console.log(options); } } });
以上是angularJs中关于datatable的实现代码分享的详细内容。更多信息请关注PHP中文网其他相关文章!

Javascript 是一个非常有个性的语言. 无论是从代码的组织, 还是代码的编程范式, 还是面向对象理论都独具一格. 而很早就在争论的Javascript 是不是面向对象语言这个问题, 显然已有答案. 但是, 即使 Javascript 叱咤风云二十年, 如果想要看懂 jQuery, Angularjs, 甚至是 React 等流行框架, 观看《黑马云课堂JavaScript 高级框架设计视频教程》就对了。

在如今信息时代,网站已经成为人们获取信息和交流的重要工具。一个响应式的网站能够适应各种设备,为用户提供优质的体验,成为了现代网站开发的热点。本篇文章将介绍如何使用PHP和AngularJS搭建一个响应式网站,从而提供优质的用户体验。PHP介绍PHP是一种开源的服务器端编程语言,非常适用于Web开发。PHP具有很多优点,如易于学习、跨平台、丰富的工具库、开发效

随着互联网的不断发展,Web应用已成为企业信息化建设的重要组成部分,也是现代化工作的必要手段。为了使Web应用能够便于开发、维护和扩展,开发人员需要选择适合自己开发需求的技术框架和编程语言。PHP和AngularJS是两种非常流行的Web开发技术,它们分别是服务器端和客户端的解决方案,通过结合使用可以大大提高Web应用的开发效率和使用体验。PHP的优势PHP

随着互联网的普及,越来越多的人在使用网络进行文件传输和共享。然而,由于各种原因,使用传统的FTP等方式进行文件管理无法满足现代用户的需求。因此,建立一个易用、高效、安全的在线文件管理平台已成为了一种趋势。本文介绍的在线文件管理平台,基于PHP和AngularJS,能够方便地进行文件上传、下载、编辑、删除等操作,并且提供了一系列强大的功能,例如文件共享、搜索、

随着Web应用程序的普及,前端框架AngularJS变得越来越受欢迎。AngularJS是一个由Google开发的JavaScript框架,它可以帮助你构建具有动态Web应用程序功能的Web应用程序。另一方面,对于后端编程,PHP是非常受欢迎的编程语言。如果您正在使用PHP进行服务器端编程,那么结合AngularJS使用PHP将可以为您的网站带来更多的动态效

随着Web技术的飞速发展,单页Web应用程序(SinglePageApplication,SPA)已经成为一种越来越流行的Web应用程序模型。相比于传统的多页Web应用程序,SPA的最大优势在于用户感受更加流畅,同时服务器端的计算压力也大幅减少。在本文中,我们将介绍如何使用Flask和AngularJS构建一个简单的SPA。Flask是一款轻量级的Py

随着互联网的普及和发展,前端开发已变得越来越重要。作为前端开发人员,我们需要了解并掌握各种开发工具和技术。其中,PHP和AngularJS是两种非常有用和流行的工具。在本文中,我们将介绍如何使用这两种工具进行前端开发。一、PHP介绍PHP是一种流行的开源服务器端脚本语言,它适用于Web开发,可以在Web服务器和各种操作系统上运行。PHP的优点是简单、快速、便


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3汉化版
中文版,非常好用

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器