对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 相关文章推荐
不用AJAX和IFRAME,说说真正意义上的ASP+JS无刷新技术
Sep 25 Javascript
js 蒙版进度条(结合图片)
Mar 10 Javascript
JQuery EasyUI 对话框的使用方法
Oct 24 Javascript
js数组的基本操作(很全自己整理的)
Oct 16 Javascript
jquery控制显示服务器生成的图片流
Aug 04 Javascript
BootStrap3学习笔记(一)之网格系统
May 20 Javascript
微信小程序中使元素占满整个屏幕高度实现方法
Dec 14 Javascript
基本DOM节点操作
Jan 17 Javascript
ES5 ES6中Array对象去除重复项的方法总结
Apr 27 Javascript
详解vue-router 2.0 常用基础知识点之导航钩子
May 10 Javascript
详解如何在项目中使用jest测试react native组件
Feb 09 Javascript
js实现控制文件拖拽并获取拖拽内容功能
Feb 17 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页面防重复提交方法总结
2013/11/25 PHP
无需数据库在线投票调查php代码
2016/07/20 PHP
Discuz论坛密码与密保加密规则
2016/12/19 PHP
PHP的PDO预定义常量讲解
2019/01/24 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
2019/06/05 PHP
Colortip基于jquery的信息提示框插件在IE6下面的显示问题修正方法
2010/12/06 Javascript
jQuery插件原来如此简单 jQuery插件的机制及实战
2012/02/07 Javascript
js实现瀑布流的一种简单方法实例分享
2013/11/04 Javascript
jQuery替换字符串(实例代码)
2013/11/13 Javascript
一行命令搞定node.js 版本升级
2014/07/20 Javascript
jQuery实现点击该行即可删除HTML表格行
2014/10/17 Javascript
jQuery中:enabled选择器用法实例
2015/01/04 Javascript
JS实现仿QQ面板的手风琴效果折叠菜单代码
2015/09/11 Javascript
浅谈$('div a') 与$('div>a')的区别
2016/07/18 Javascript
bootstrap的3级菜单样式,支持母版页保留打开状态实现方法
2016/11/10 Javascript
JS实现左边列表移到到右边列表功能
2018/03/28 Javascript
vue 2.8.2版本配置刚进入时候的默认页面方法
2018/09/21 Javascript
Vue+Node实现的商城用户管理功能示例
2019/12/23 Javascript
基于JavaScript实现随机点名器
2021/02/25 Javascript
Python中使用tarfile压缩、解压tar归档文件示例
2015/04/05 Python
python套接字流重定向实例汇总
2016/03/03 Python
Python表示矩阵的方法分析
2017/05/26 Python
python logging日志模块的详解
2017/10/29 Python
Django中如何使用sass的方法步骤
2019/07/09 Python
tensorflow-gpu安装的常见问题及解决方案
2020/01/20 Python
浅谈tensorflow使用张量时的一些注意点tf.concat,tf.reshape,tf.stack
2020/06/23 Python
CSS3教程(2):网页边框半径和网页圆角
2009/04/02 HTML / CSS
上海微创软件面试题
2012/06/14 面试题
早餐连锁店计划书
2014/01/08 职场文书
运动会跳远广播稿
2014/02/04 职场文书
《值日生》教学反思
2014/02/17 职场文书
欢迎标语大全
2014/06/21 职场文书
毛主席纪念堂观后感
2015/06/17 职场文书
百年校庆宣传标语口号
2015/12/26 职场文书
《植树问题》教学反思
2016/03/03 职场文书
基于Go语言构建RESTful API服务
2021/07/25 Golang