对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 相关文章推荐
关于extjs4如何获取grid修改后的数据的问题
Aug 07 Javascript
Javascript中各种trim的实现详细解析
Dec 10 Javascript
用jQuery toggleClass 实现鼠标移上变色
May 14 Javascript
jQuery遍历页面所有CheckBox查看是否被选中的方法
Apr 14 Javascript
jquery实现未经美化的简洁TAB菜单效果
Aug 28 Javascript
浅析jQuery Ajax通用js封装
Jun 22 Javascript
html5 canvas 详细使用教程
Jan 20 Javascript
Angular.js去除页面中显示的空行方法示例
Mar 30 Javascript
详解vue-cli 本地开发mock数据使用方法
May 29 Javascript
DatePickerDialog 自定义样式及使用全解
Jul 09 Javascript
详解vue高级特性
Jun 09 Javascript
vue自动添加浏览器兼容前后缀操作
Aug 13 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
如何在smarty中增加类似foreach的功能自动加载数据
2013/06/26 PHP
thinkphp使用literal防止模板标签被解析的方法
2014/11/22 PHP
记录一次排查PHP脚本执行卡住的问题
2016/12/27 PHP
PHP获取真实客户端的真实IP
2017/03/07 PHP
laravel实现按时间日期进行分组统计方法示例
2019/03/23 PHP
跨浏览器通用、可重用的选项卡tab切换js代码
2011/09/20 Javascript
IE6已终止操作问题的2种情况及解决
2014/04/23 Javascript
Javascript前端UI框架Kit使用指南之Kitjs简介
2014/11/28 Javascript
简单纯js实现点击切换TAB标签实例
2015/08/23 Javascript
javascript实现label标签跳出循环操作
2016/03/06 Javascript
Bootstrap模态框案例解析
2017/03/05 Javascript
JavaScript比较两个数组的内容是否相同(推荐)
2017/05/02 Javascript
jQuery实现可拖动进度条实例代码
2017/06/21 jQuery
vue.js 中使用(...)运算符报错的解决方法
2018/08/09 Javascript
Vuex 使用及简单实例(计数器)
2018/08/29 Javascript
vue-cli2与vue-cli3在一台电脑共存的实现方法
2019/09/25 Javascript
JavaScript 反射和属性赋值实例解析
2019/10/28 Javascript
vue transition 在子组件中失效的解决
2019/11/12 Javascript
python使用ctypes模块调用windowsapi获取系统版本示例
2014/04/17 Python
python传递参数方式小结
2015/04/17 Python
浅谈Python中的作用域规则和闭包
2018/03/20 Python
python实现在图片上画特定大小角度矩形框
2018/10/24 Python
Python学习笔记之字符串和字符串方法实例详解
2019/08/22 Python
X/HTML5 和 XHTML2
2008/10/17 HTML / CSS
80年代复古T恤:TruffleShuffle
2018/07/02 全球购物
请写出char *p与"零值"比较的if语句
2014/09/24 面试题
销售员自我评价怎么写
2013/09/19 职场文书
英文求职信结束语大全
2013/10/26 职场文书
高职教师岗位职责
2013/12/24 职场文书
高一历史教学反思
2014/01/13 职场文书
意外伤害赔偿协议书范文
2014/09/23 职场文书
高中教师个人工作总结
2015/02/10 职场文书
2016年暑期教师培训心得体会
2016/01/09 职场文书
学习习近平主席讲话心得体会
2016/01/20 职场文书
Python实现文字pdf转换图片pdf效果
2022/04/03 Python
使用Python解决图表与画布的间距问题
2022/04/11 Python