对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制作的产品广告效果
Dec 08 Javascript
JavaScript检测鼠标移动方向的方法
May 22 Javascript
JavaScript实现select添加option
Jul 03 Javascript
关于JS中prototype的理解
Sep 07 Javascript
js实现完美兼容各大浏览器的人民币大小写相互转换
Oct 29 Javascript
AngularJS实现分页显示数据库信息
Jul 01 Javascript
jQuery实现的自定义弹出层效果实例详解
Sep 04 Javascript
浅谈关于axios和session的一些事
Jul 13 Javascript
vue.js移动端app之上拉加载以及下拉刷新实战
Sep 11 Javascript
vue实现的组件兄弟间通信功能示例
Dec 04 Javascript
React精髓!一篇全概括小结(急速)
May 23 Javascript
JavaScript TAB栏切换效果的示例
Nov 05 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
SONY ICF-SW07收音机电路分析
2021/03/02 无线电
PHP+Ajax实现的无刷新分页功能详解【附demo源码下载】
2017/07/03 PHP
PHP正则表达式笔记与实例详解
2019/05/09 PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
2019/05/23 PHP
你需要知道的10个最佳javascript开发实践小结
2012/04/15 Javascript
客户端js判断文件类型和文件大小即限制上传大小
2013/11/20 Javascript
轻松创建nodejs服务器(10):处理上传图片
2014/12/18 NodeJs
jQuery实现图片轮播特效代码分享
2015/09/15 Javascript
借助FileReader实现将文件编码为Base64后通过AJAX上传
2015/12/24 Javascript
关于JS 预解释的相关理解
2016/06/28 Javascript
AngularJS 霸道的过滤器小结
2017/04/26 Javascript
vue如何从接口请求数据
2017/06/22 Javascript
react-native ListView下拉刷新上拉加载实现代码
2017/08/03 Javascript
vue项目tween方法实现返回顶部的示例代码
2018/03/02 Javascript
Vue 通过自定义指令回顾v-内置指令(小结)
2018/09/03 Javascript
js replace替换字符串同时替换多个方法
2018/11/27 Javascript
javascript 函数的暂停和恢复实例详解
2020/04/25 Javascript
[00:50]2014DOTA2国际邀请赛 NEWBEE战队回顾
2014/08/01 DOTA
Python中使用tarfile压缩、解压tar归档文件示例
2015/04/05 Python
python多线程抽象编程模型详解
2019/03/20 Python
python3对拉勾数据进行可视化分析的方法详解
2019/04/03 Python
使用python制作一个解压缩软件
2019/11/13 Python
python自动识别文本编码格式代码
2019/12/26 Python
Python中的 ansible 动态Inventory 脚本
2020/01/19 Python
用sleep间隔进行python反爬虫的实例讲解
2020/11/30 Python
利用Storage Event实现页面间通信的示例代码
2018/07/26 HTML / CSS
canvas实现滑动验证的实现示例
2020/08/11 HTML / CSS
秋季运动会加油稿200字
2014/01/11 职场文书
《跨越百年的美丽》教学反思
2014/02/11 职场文书
社团2014年植树节活动总结
2014/03/11 职场文书
党员干部一句话承诺
2014/05/30 职场文书
试用期辞职信范文
2015/03/02 职场文书
预备党员党支部意见
2015/06/02 职场文书
幸福终点站观后感
2015/06/04 职场文书
怒海潜将观后感
2015/06/11 职场文书
前端监听websocket消息并实时弹出(实例代码)
2021/11/27 Javascript