对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 相关文章推荐
jQuery用unbind方法去掉hover事件及其他方法介绍
Mar 18 Javascript
图片轮换效果实现代码(点击按钮停止执行)
Apr 12 Javascript
JS与C#编码解码
Dec 03 Javascript
jQuery的DOM操作之删除节点示例
Jan 03 Javascript
jsp网页搜索结果中实现选中一行使其高亮
Feb 17 Javascript
js unicode 编码解析关于数据转换为中文的两种方法
Apr 21 Javascript
浅谈下拉菜单中的Option对象
May 10 Javascript
js无提示关闭浏览器窗口的两种方法分析
Nov 06 Javascript
微信小程序 setData使用方法及常用错误解决办法
May 11 Javascript
JavaScript实现兼容IE6的收起折叠与展开效果实例
Sep 20 Javascript
vue实现购物车选择功能
Jan 10 Javascript
解决vue 给window添加和移除resize事件遇到的坑
Jul 21 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
如何限制访问者的ip(PHPBB的代码)
2006/10/09 PHP
社区(php&&mysql)一
2006/10/09 PHP
PHP遍历数组的三种方法及效率对比分析
2015/02/12 PHP
php简单实现短网址(短链)还原的方法(测试可用)
2016/05/09 PHP
PHP时间戳格式全部汇总 (获取时间、时间戳)
2016/06/13 PHP
浅析PHP7的多进程及实例源码
2019/04/14 PHP
PHP如何解决微信文章图片防盗链
2020/12/09 PHP
用jQuery扩展自写的 UI导航
2010/01/13 Javascript
JQuery 操作/获取table具体代码
2013/06/13 Javascript
js(jQuery)获取时间的方法及常用时间类搜集
2013/10/23 Javascript
JavaScript中setInterval的用法总结
2013/11/20 Javascript
js中文逗号转英文实现
2014/02/11 Javascript
Bootstrap导航栏各元素操作方法(表单、按钮、文本)
2015/12/28 Javascript
jQuery EasyUI常用数据验证汇总
2016/09/18 Javascript
JavaScript登录记住密码操作(超简单代码)
2017/03/22 Javascript
详解vue.js全局组件和局部组件
2017/04/10 Javascript
vue组件初学_弹射小球(实例讲解)
2017/09/06 Javascript
JS中的Replace()传入函数时的用法详解
2017/09/11 Javascript
vue定义全局变量和全局方法的方法示例
2018/08/01 Javascript
快速解决angularJS中用post方法时后台拿不到值的问题
2018/08/14 Javascript
vue.js 解决v-model让select默认选中不生效的问题
2020/07/28 Javascript
[06:38]DOTA2怒掀电竞风暴 2013Chinajoy
2013/07/27 DOTA
Python编程之黑板上排列组合,你舍得解开吗
2017/10/30 Python
浅谈Python中的zip()与*zip()函数详解
2018/02/24 Python
Python加载带有注释的Json文件实例
2018/05/23 Python
Python基础教程之if判断,while循环,循环嵌套
2019/04/25 Python
python 反编译exe文件为py文件的实例代码
2019/06/27 Python
FFT快速傅里叶变换的python实现过程解析
2019/10/21 Python
python实现的读取网页并分词功能示例
2019/10/29 Python
Python Django中的STATIC_URL 设置和使用方式
2020/03/27 Python
Python验证码截取识别代码实例
2020/05/16 Python
Python 程序员必须掌握的日志记录
2020/08/17 Python
在C#中如何实现多态
2014/07/02 面试题
慈善献爱心倡议书
2015/04/27 职场文书
2015年社区教育工作总结
2015/05/13 职场文书
《彼得与狼》教学反思
2016/02/20 职场文书