基于Layui自定义模块的使用方法详解


Posted in Javascript onSeptember 14, 2019

layui是一个极其不错的前端UI框架、是后端程序员的福音。总之如果你是一个后端开发者、如果你苦于你的界面“惨不忍睹”、选择layui来开发是个极好的选择。

之前的项目也有使用过layui、只是没有过多的关注其框架本身。对于项目上、拿来即用即可!

为什么要自定义模块呢?好处很多、比如可以大量重用代码......

我也是一个极其懒惰的人、总是想办法让代码可重用

根据layui官方的文档说明、首先第一步是要确定你要扩展的模块名称

我现在做的是登录功能、因此我的扩展模块名叫 login

使用layui.define()方法来扩展模块、当然模块中你也可以使用layui的其他方法、如下

layui.define('layer', callback);

在定义扩展模块的时候、我需要使用layui的layer模块、然后在回调函数中定义自己的方法

layui.define(["layer","jquery"],function (exports) {
  var obj = {
    login : function (url,data,$,targetUrl) {
      $.post(url,{code:data.code},function (res) {
       if (res.code&&res.code==400){
         layer.msg(res.msg,{icon:1},function () {
           window.location.href = targetUrl;
         });
       }else{
         layer.msg(res.msg,{icon:1},function () {
           window.location.href = targetUrl;
         });
       }
      });
    }
  }
  exports("login",obj);
});

上述代码中定义了一个login模块、以便在我登录的时候、不需要写过度的代码即可实现登录、让页面看起来更清爽【无任何杂质】

那么模块定义完了、怎么使用呢?

<script type="text/javascript">
  layui.config({
    base: '/static/admin/js/module/'//模块存放的目录
  }).use(['jquery','element','form','login'],function () {
    var $ = layui.jquery,
      form = layui.form,
      element = layui.element,
      login = layui.login;
    form.on("submit(subBtn)",function (data) {
      //获取表单的值
      var field = data.field;
      login.login("{:url('Login/doLogin')}",field,$,"{:url('Index/index')}");
      return false;
    });
  });
</script>

嗯、就这样、在登录的时候、直接将参数传递过去即可、在上述代码中url部分是使用TP的方法生成的、这里不用过多的研究【如果你是写前端的话】。

嗯、就这样、整个模块定义完成!!展示的效果如下

基于Layui自定义模块的使用方法详解

以上这篇基于Layui自定义模块的使用方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
Jun 28 Javascript
自己动手手写jQuery插件总结
Jan 20 Javascript
JavaScript+html5 canvas实现图片破碎重组动画特效
Feb 22 Javascript
Bootstrap在线电子商务网站实战项目5
Oct 14 Javascript
浅谈webpack编译vue项目生成的代码探索
Dec 11 Javascript
vue源码入口文件分析(推荐)
Jan 30 Javascript
实例解析Vue.js下载方式及基本概念
May 11 Javascript
vue自定义键盘信息、监听数据变化的方法示例【基于vm.$watch】
Mar 16 Javascript
Vuex modules模式下mapState/mapMutations的操作实例
Oct 17 Javascript
Jquery+AJAX实现无刷新上传并重命名文件操作示例【PHP后台接收】
May 29 jQuery
JS call()及apply()方法使用实例汇总
Jul 11 Javascript
详解三种方式在React中解决绑定this的作用域问题并传参
Aug 18 Javascript
解决layui的form里的元素进行动态生成,验证失效的问题
Sep 14 #Javascript
浅谈layui使用模板引擎动态渲染元素要注意的问题
Sep 14 #Javascript
Layui Form 自定义验证的实例代码
Sep 14 #Javascript
layui使用form表单实现post请求页面跳转的方法
Sep 14 #Javascript
解决layer弹出层的内容页点击按钮跳转到新的页面问题
Sep 14 #Javascript
layui自己添加图片按钮并点击跳转页面的例子
Sep 14 #Javascript
vue登录注册实例详解
Sep 14 #Javascript
You might like
超外差式晶体管收音机的组装与统调
2021/03/01 无线电
深入apache host的配置详解
2013/06/09 PHP
修改php.ini不生效问题解决方法(上传大于8M的文件)
2013/06/14 PHP
phpExcel中文帮助手册之常用功能指南
2014/08/18 PHP
PHP应用跨时区功能的实现方法
2019/03/21 PHP
PHPstorm激活码2020年5月13日亲测有效
2020/09/17 PHP
网页常用特效代码整理
2006/06/23 Javascript
根据分辨率不同,调用不同的css文件
2006/07/07 Javascript
IE与firefox下Dhtml的一些区别小结
2009/12/02 Javascript
ExtJS 2.0 GridPanel基本表格简明教程
2010/05/25 Javascript
Javascript匿名函数的一种应用 代码封装
2010/06/27 Javascript
二叉树的非递归后序遍历算法实例详解
2014/02/07 Javascript
js处理自己不能定义二维数组的方法详解
2014/03/03 Javascript
让javascript加载速度倍增的方法(解决JS加载速度慢的问题)
2014/12/12 Javascript
jQuery中ajax的get()方法用法实例
2014/12/26 Javascript
浅谈Sizzle的“编译原理”
2015/04/14 Javascript
JS验证邮件地址格式方法小结
2015/12/01 Javascript
JavaScript驾驭网页-获取网页元素
2016/03/24 Javascript
基于jQuery实现选项卡效果
2017/01/04 Javascript
React组件之间的通信的实例代码
2017/06/27 Javascript
C#实现将一个字符转换为整数
2017/12/12 Javascript
详解处理Vue单页面应用SEO的另一种思路
2018/11/09 Javascript
vue不操作dom实现图片轮播的示例代码
2019/12/18 Javascript
关于angular浏览器兼容性问题的解决方案
2020/07/26 Javascript
微信小程序实现页面左右滑动
2020/11/16 Javascript
Python中的自定义函数学习笔记
2014/09/23 Python
Python列表切片用法示例
2017/04/19 Python
Python爬豆瓣电影实例
2018/02/23 Python
python实现录音小程序
2020/10/26 Python
python wxpython 实现界面跳转功能
2019/12/17 Python
使用celery和Django处理异步任务的流程分析
2020/02/19 Python
Django 实现图片上传和下载功能
2020/12/31 Python
欧尚俄罗斯网上超市:Auchan俄罗斯
2018/05/03 全球购物
springcloud之Feign超时问题的解决
2021/06/24 Java/Android
MySQL深度分页(千万级数据量如何快速分页)
2021/07/25 MySQL
mysql 索引的数据结构为什么要采用B+树
2022/04/26 MySQL