对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 相关文章推荐
优化网页之快速的呈现我们的网页
Jun 29 Javascript
javascript new 需不需要继续使用
Jul 02 Javascript
Jquery 学习笔记(一)
Oct 13 Javascript
JS鼠标事件大全 推荐收藏
Nov 01 Javascript
javascript验证只能输入数字和一个小数点示例
Oct 21 Javascript
详细分析使用AngularJS编程中提交表单的方式
Jun 19 Javascript
使用JavaScript脚本判断页面是否在微信中被打开
Mar 06 Javascript
Vue不能检测到Object/Array更新的情况的解决
Jun 26 Javascript
vue路由 遍历生成复数router-link的例子
Oct 30 Javascript
js实现秒表计时器
Dec 16 Javascript
微信小程序个人中心的列表控件实现代码
Apr 26 Javascript
antd-日历组件,前后禁止选择,只能选中间一部分的实例
Oct 29 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/12/06 PHP
header中Content-Disposition的作用与使用方法
2012/06/13 PHP
解析PHP中ob_start()函数的用法
2013/06/24 PHP
php递归创建目录的方法
2015/02/02 PHP
PHP获取数组的键与值方法小结
2015/06/13 PHP
做网页的一些技巧
2007/02/01 Javascript
JavaScript函数、方法、对象代码
2008/10/29 Javascript
javascript 学习之旅 (1)
2009/02/05 Javascript
IE6下通过a标签点击切换图片的问题
2010/11/14 Javascript
基于jquery实现的鼠标拖拽元素复制并写入效果
2011/08/23 Javascript
浅析jquery的作用与优势
2013/12/02 Javascript
Js冒泡事件详解及阻止示例
2014/03/21 Javascript
JS实现在页面随时自定义背景颜色的方法
2015/02/27 Javascript
JS延时器提示框的应用实例代码解析
2016/04/27 Javascript
BootStrap文件上传样式超好看【持续更新】
2016/05/10 Javascript
jQuery Chart图表制作组件Highcharts用法详解
2016/06/01 Javascript
微信小程序 解决swiper不显示图片的方法
2017/01/04 Javascript
Angularjs自定义指令实现分页插件(DEMO)
2017/09/16 Javascript
vue点击input弹出带搜索键盘并监听该元素的方法
2018/08/25 Javascript
vue表单验证你真的会了吗?vue表单验证(form)validate
2019/04/07 Javascript
JS使用百度地图API自动获取地址和经纬度操作示例
2019/04/16 Javascript
JavaScript中的连续赋值问题实例分析
2019/07/12 Javascript
vue父组件给子组件的组件传值provide inject的方法
2019/10/23 Javascript
Openlayers实现地图的基本操作
2020/09/28 Javascript
vantUI 获得piker选中值的自定义ID操作
2020/11/04 Javascript
vue动态设置路由权限的主要思路
2021/01/13 Vue.js
在Python3中初学者应会的一些基本的提升效率的小技巧
2015/03/31 Python
Python 实现数据库(SQL)更新脚本的生成方法
2017/07/09 Python
python下载图片实现方法(超简单)
2017/07/21 Python
Ralph Lauren拉夫·劳伦美国官网:带有浓郁美国气息的高品味时装品牌
2017/11/01 全球购物
销售主管的自我评价分享
2014/01/03 职场文书
文明礼仪倡议书
2015/04/28 职场文书
Python实现8种常用抽样方法
2021/06/27 Python
《堡垒之夜》联动《刺客信条》 4月7日正式上线
2022/04/06 其他游戏
排查MySQL生产环境索引没有效果
2022/04/11 MySQL
Mysql中@和@@符号的详细使用指南
2022/06/05 MySQL