对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——表单应用范例
Feb 20 Javascript
[原创]提供复制本站内容时出现,该文章转自脚本之家等字样的js代码
Mar 27 Javascript
Sample script that deletes a SQL Server database
Jun 16 Javascript
Javascript this 的一些学习总结
Aug 02 Javascript
flash遮住div问题的正确解决方法
Feb 27 Javascript
编写简单的jQuery提示插件
Dec 21 Javascript
纯JS代码实现气泡效果
May 04 Javascript
Bootstrap布局方式详解
May 27 Javascript
老生常谈js动态添加事件--- 事件委托
Jul 19 Javascript
jQuery弹出层后禁用底部滚动条(移动端关闭回到原位置)
Aug 29 Javascript
微信小程序自定义头部导航栏和导航栏背景图片 navigationStyle问题
Jul 26 Javascript
javascript实现评分功能
Jun 24 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程序--记数器
2006/10/09 PHP
FleaPHP的安全设置方法
2008/09/15 PHP
PHP 七大优势分析
2009/06/23 PHP
PHP实现图片上传并压缩
2015/12/22 PHP
php版微信js-sdk支付接口类用法示例
2016/10/12 PHP
php正则去除网页中所有的html,js,css,注释的实现方法
2016/11/03 PHP
php生成图片缩略图功能示例
2017/02/22 PHP
PHP 记录访客的浏览信息方法
2018/01/29 PHP
PHP语言对接抖音快手小红书视频/图片去水印API接口源码
2020/08/11 PHP
javascript高亮效果的二种实现方法
2008/09/14 Javascript
TinyMCE 新增本地图片上传功能
2010/11/05 Javascript
js replace替换所有匹配的字符串
2014/02/13 Javascript
浅谈javascript控制HTML5的全屏操控,浏览器兼容的问题
2016/10/10 Javascript
js select下拉联动 更具级联性!
2020/04/17 Javascript
解决angular2 获取到的数据无法实时更新的问题
2018/08/31 Javascript
如何手动实现一个 JavaScript 模块执行器
2020/10/16 Javascript
[04:48]DOTA2上海特锦赛小组赛第三日 TOP10精彩集锦
2016/02/28 DOTA
[50:24]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
[57:55]EG vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python中Random和Math模块学习笔记
2015/05/18 Python
Python中方法链的使用方法
2016/02/23 Python
python数据结构学习之实现线性表的顺序
2018/09/28 Python
python实现简易动态时钟
2018/11/19 Python
python 获取剪切板内容的两种方法
2020/11/28 Python
经管应届生求职信
2013/11/17 职场文书
营销人才自我鉴定范文
2013/12/25 职场文书
结婚邀请函范文
2014/01/14 职场文书
酒店保安员岗位职责
2014/01/31 职场文书
销售顾问岗位职责
2014/02/25 职场文书
交通事故委托书范本精选
2014/10/04 职场文书
放射科岗位职责
2015/02/14 职场文书
表扬信范文
2015/05/04 职场文书
2015年七七事变78周年纪念活动方案
2015/05/06 职场文书
先进个人主要事迹怎么写
2015/11/04 职场文书
Nginx配置SSL证书出错解决方案
2021/03/31 Servers
Nginx的基本概念和原理
2022/03/21 Servers