对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 相关文章推荐
JS修改iframe页面背景颜色的方法
Apr 01 Javascript
BootStrapValidator校验方式
Dec 19 Javascript
require.js中的define函数详解
Jul 10 Javascript
在Node.js下运用MQTT协议实现即时通讯及离线推送的方法
Jan 24 Javascript
JS实现点击按钮随机生成可拖动的不同颜色块示例
Jan 30 Javascript
ajax跨域访问遇到的问题及解决方案
May 23 Javascript
浅谈layui 表单元素的选中问题
Oct 25 Javascript
vue-router的hooks用法详解
Jun 08 Javascript
vue-router之解决addRoutes使用遇到的坑
Jul 19 Javascript
js实现贪吃蛇游戏(简易版)
Sep 29 Javascript
JavaScript实现缓动动画
Nov 25 Javascript
Vue过滤器,生命周期函数和vue-resource简单介绍
Jan 12 Vue.js
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中smarty实现多模版网站的方法
2015/06/11 PHP
php实现购物车功能(下)
2016/01/05 PHP
php单链表实现代码分享
2016/07/04 PHP
php一个文件搞定微信jssdk配置
2016/12/12 PHP
PHP无限极分类函数的实现方法详解
2017/04/15 PHP
jQuery中filter()和find()的区别深入了解
2013/09/25 Javascript
jquery如何通过name名称获取当前name的value值
2013/12/20 Javascript
js中判断对象是否为空的三种实现方法
2013/12/23 Javascript
js中substr,substring,indexOf,lastIndexOf的用法小结
2013/12/27 Javascript
javascript跨浏览器的属性判断方法
2014/03/16 Javascript
jsPDF导出pdf示例
2014/05/02 Javascript
jquery attr方法获取input的checked属性问题
2014/05/26 Javascript
JavaScript中使用stopPropagation函数停止事件传播例子
2014/08/27 Javascript
js删除Array数组中指定元素的两种方法
2016/08/03 Javascript
教你如何在Node.js中使用jQuery
2016/08/28 Javascript
Vue异步组件使用详解
2017/04/08 Javascript
浅谈node中的exports与module.exports的关系
2017/08/01 Javascript
JavaScript中数组常见操作技巧
2017/09/01 Javascript
js 显示日期时间的实例(时间过一秒加1)
2017/10/25 Javascript
vue判断input输入内容全是空格的方法
2018/03/02 Javascript
vue中的模态对话框组件实现过程
2018/05/01 Javascript
Angular+ionic实现折叠展开效果的示例代码
2020/07/29 Javascript
jquery插件懒加载的示例
2020/10/24 jQuery
pandas.cut具体使用总结
2019/06/24 Python
python的sorted用法详解
2019/06/25 Python
python 的 openpyxl模块 读取 Excel文件的方法
2019/09/09 Python
一款纯css3实现的响应式导航
2014/10/31 HTML / CSS
Araks官网:纽约内衣品牌
2020/10/15 全球购物
北京某科技有限公司C# .net笔试题
2014/09/27 面试题
高中同学聚会邀请函
2014/01/11 职场文书
2014年应届大学生毕业自我鉴定
2014/01/31 职场文书
医学生个人求职信范文
2014/02/07 职场文书
人力资源管理专业自荐信
2014/06/24 职场文书
甜品店创业计划书
2014/08/14 职场文书
python实现简单区块链结构
2021/04/25 Python
解析在浏览器地址栏输入一个URL后发生了什么
2021/06/21 Servers