对Layer UI 模块化的用法详解


Posted in Javascript onSeptember 26, 2019

此文章适合入门的同学查看,之前因为项目的原因,在网上找了一套Layer UI做的后台管理系统模板,完全不懂LayUI里面的JS用法,看了官方文档和其它资料后才明白怎么去实现模块化这个例子,但是还是感觉网上的资料写得不够清晰,我尝试把自己的想法写出来,大家可以一起学习

1.首先从简单的入手

加载所需模块

方法:layui.use([mods], callback)

引用了Layui.js后

往js文件写入

layui.use(['layer'],function(){ [mods]加载的模块,现在加载的是弹出层
 var layer = layui.layer; 弹出层模块
 layer.msg('风继续吹')
})

2.定义模块

方法:layui.define([mods], callback)

layui.define(['layer'], function(exports){
 //do something
 
 exports('demo', function(){
  alert('Hello World!');
 });
});

3.全局配置

方法:layui.config(options)

layui.config({
 base: 'js/' //你存放新模块的目录,注意,不是layui的模块目录
}).use('index'); //加载入口

来到这一步,也许你还不明白,但是看完以下这个例子,你就会清晰多了

1.新建一个js文件夹和一个index.html,再加上官方下载的layui文件

在js文件夹里面建立index.js(注意这个文件的名称)

目录现在是这样的

1

2.再进行全局配置

在index.html中写

layui.config({
 base:'js/' //你存放新模块的目录,注意,不是layui的模块目录
  }).use(['index','layer'],function(){ //加载入口 上述的 index 即为你 js/ 目录下的 index.js,看看官方的文件结构,如下图,index.js相当于就成为了新的文件模块(与下文提的模块不一样)
 var layer = layui.layer;
 layer.msg('leslie world');
})

2

不仅可以指定我们的index.js模块文件模块(),还可以引用内置的模块,比如laydate,layer等等

3.自定义模块

在index.js中

layui.define(['layer'],function(exports){ //引用layer模块
 var layer = layui.layer;
 exports('index',function(){ //注意,这里是模块输出的核心,模块名必须和use时的模块名一致,这里的index就是在index.html use的模块
 layer.msg('leslie cheung');
 })
})

现在呢,我们已经定义了新的模块 index,怎么去运行该模块呢

4.最后使用热加载模块layui.use()

继续在index.js写

layui.use(['index'],function(){
 layui.index() //调用index这个自定义模块
})

最后总结一下,通俗易懂点来讲,进行全局配置(layui.config):创建的这个index.js是我们业务所需要的文件模块,类似于layer,laydate那些结构的;

自定义模块:接着我们发现业务的需求,需要进一步在index.js去写自己的小模块,于是呢通过define自定义模块;

热加载模块:内置模块和自定义模块怎么使用,通过layui.use()去加载

好了,以上就是我个人的理解,如有错误,欢迎指出。希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
dojo 之基础篇(二)之从服务器读取数据
Mar 24 Javascript
用js实现随机返回数组的一个元素
Aug 13 Javascript
js查找父节点的简单方法
Jun 28 Javascript
jQuery中insertBefore()方法用法实例
Jan 08 Javascript
javascript巧用eval函数组装表单输入项为json对象的方法
Nov 25 Javascript
js 动态给元素添加、移除事件的实现方法
Jul 19 Javascript
JavaScript利用Date实现简单的倒计时实例
Jan 12 Javascript
使用Node.js搭建静态资源服务详细教程
Aug 02 Javascript
轻量级富文本编辑器wangEditor结合vue使用方法示例
Oct 10 Javascript
详解vue如何使用rules对表单字段进行校验
Oct 17 Javascript
Vue 中文本内容超出规定行数后展开收起的处理的实现方法
Apr 28 Javascript
vue.js 实现a标签href里添加参数
Nov 12 Javascript
vue源码中的检测方法的实现
Sep 26 #Javascript
IntelliJ IDEA编辑器配置vue高亮显示
Sep 26 #Javascript
layer.open 子页面弹出层向父页面传输数据的例子
Sep 26 #Javascript
Vue项目环境搭建详细总结
Sep 26 #Javascript
layer.open 获取不到表单信息的解决方法
Sep 26 #Javascript
layui: layer.open加载窗体时出现遮罩层的解决方法
Sep 26 #Javascript
layUI使用layer.open,在content打开数据表格,获取值并返回的方法
Sep 26 #Javascript
You might like
PHP编码规范之注释和文件结构说明
2010/07/09 PHP
PHP中文件缓存转内存缓存的方法
2011/12/06 PHP
利用phpExcel实现Excel数据的导入导出(全步骤详细解析)
2013/11/26 PHP
php使用Jpgraph绘制复杂X-Y坐标图的方法
2015/06/10 PHP
php正则表达式学习笔记
2015/11/13 PHP
PHP+Mysql无刷新问答评论系统(源码)
2016/12/20 PHP
用JavaScript计算在UTF-8下存储字符串占用字节数
2013/08/08 Javascript
用js闭包的方法实现多点标注冒泡示例
2014/05/29 Javascript
一个不错的字符串转码解码函数(自写)
2014/07/31 Javascript
js css 实现遮罩层覆盖其他页面元素附图
2014/09/22 Javascript
jquery表单验证插件(jquery.validate.js)的3种使用方式
2015/03/28 Javascript
JQuery CheckBox(复选框)操作方法汇总
2015/04/15 Javascript
fastclick插件导致日期(input[type="date"])控件无法被触发该如何解决
2015/11/09 Javascript
JavaScript引用类型和基本类型详解
2016/01/06 Javascript
基于javascript实现按圆形排列DIV元素(二)
2016/12/02 Javascript
jQuery实现Select下拉列表进行状态选择功能
2017/03/30 jQuery
Jquery EasyUI $.Parser
2017/06/02 jQuery
详解刷新页面vuex数据不消失和不跳转页面的解决
2018/01/30 Javascript
Bootstrap table表格初始化表格数据的方法
2018/07/25 Javascript
vue 解决数组赋值无法渲染在页面的问题
2019/10/28 Javascript
将Vue组件库更换为按需加载的方法步骤
2020/05/06 Javascript
用Python计算三角函数之atan()方法的使用
2015/05/15 Python
python文件操作相关知识点总结整理
2016/02/22 Python
Python flask框架实现查询数据库并显示数据
2020/06/04 Python
使用py-spy解决scrapy卡死的问题方法
2020/09/29 Python
css3.0 图形构成实例练习一
2013/03/19 HTML / CSS
css3让div随鼠标移动而抖动起来
2014/02/10 HTML / CSS
Canvas制作旋转的太极的示例
2018/03/09 HTML / CSS
美国彩妆品牌:Coastal Scents
2017/04/01 全球购物
车间操作工岗位职责
2013/12/19 职场文书
采购主管岗位职责
2014/02/01 职场文书
小学生开学第一课活动方案
2014/03/27 职场文书
新员工考核评语
2014/12/31 职场文书
巴黎圣母院观后感
2015/06/10 职场文书
员工规章制度范本
2015/08/07 职场文书
Golang 入门 之url 包
2022/05/04 Golang