非模块化和模块化的区别是

  •     非模块化不用每次都调用layui.use([],fun...)引入对应模块,引入的JS是/layui/layui.all.js
  •     模块化必须每次都调用layui.use([],fun...)引入对应模块,引入的JS是/layui/layui.js  (推荐这种,但是写起来不太方便)

  

  • /layui/layui.js会包含/layui/layui.js的所有功能,引入这个JS会加载所有的模块,无需自动引入模块,会使layui失去模块化的意义,但是写起来确实方便多了。因此layui官方推荐使用模块化的方式。

1.模块化的使用:

注意:引入的JS是:  /layui/layui.js

遵循 layui 的模块规范建立一个入口文件,并通过 layui.use() 方式来加载该入口文件

例如:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>模块化的使用</title>
<link rel="stylesheet" href="./layui/css/layui.css"> <!--引入这个JS-->
<script type="text/javascript" src="./layui/layui.js"></script> </head>
<body> <script>
/*必须使用这个方法先引用对应的模块*/
layui.use(['layer'],function () {
var layer = layui.layer;
layer.alert("xxxxxxxxxxxxxxxxxxxxxxxx")
})
</script> </body>
</html>

补充:为了方便使用可以使用下面方法引入:

function deleteDictBatch(){
var form,layer;
layui.use(['form','layer'],function () {
form = layui.form;
layer=layui.layer;
});
//获取选中的元素的个数
var length_1 = $("[name='dictionaryCheckbox']:checked").length;
//1.如果选中的个数为0,直接退出函数,提示选择字典删除
if(length_1 ==0 ){
layer.alert("请选中需要删除的字典")
return ;
}
//如果有元素需要被删除
else{
if(!confirm("您确认要删除下列字典?")){//点取消也退出函数
return;
}
//第二种方式,以数组的方式去提交。后台用string接收
var values = [];
$("[name='dictionaryCheckbox']:checked").each(function (i) {//i代表索引
values[i]=$(this).val();
})
$.post(contextPath+'/dictionary/deleteDictBatch.do',{dictionaryIds:values.toString()},function(response){
alert(response);
if(response == "删除成功"){
getDictionaryTree();//查询字典树
getDictionaryFY();//分页查询字典信息
}
},'text')
//删除的业务逻辑
}
}

也可以将layer和form作为全局变量引入使用:

/**
* @author: qlq
* @time: 9:31
* @description: 添加培养方案的JS
*/ /**
* 一次性自调函数初始化两个全局变量
*/
var lyer,form;
(function () {
layui.use(['layer','form'],function () {
layer=layui.layer,form=layui.form;
})
})(); /**
* 页面加载完成后执行一些函数
*/
$(function () {
layer.msg("消息框")
}); /**********S *****************/

2.非模块化的使用:

注意:引入的JS是  /layui/layui.all.js

 采用“一次性加载”的方式。当你采用这样的方式时,你无需再通过 layui.use() 方法加载模块,直接使用即可,如:

例如:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>非模块化的使用方法</title> <link rel="stylesheet" href="./layui/css/layui.css"> <!--引入这个JS-->
<script type="text/javascript" src="./layui/layui.all.js"></script>
</head>
<body> <script>
var layer = layui.layer;
layer.alert("xxxxxxxxxxxxxxxxxxxxxxxx")
</script>
</body>
</html>

3.补充

1.在模块法中不能直接使用非模块化的方法

例如:(下面引入是模块化JS却使用非模块化方法报错)

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>模块化的使用</title>
<link rel="stylesheet" href="./layui/css/layui.css"> <!--引入这个JS-->
<script type="text/javascript" src="./layui/layui.js"></script> </head>
<body> <script>
var layer = layui.layer;
layer.alert("xxxxxxxxxxxxxxxxxxxxxxxx")
</script> </body>
</html>

2.非模块化中可以使用模块化

例如:下面正常运行,但是没必要

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>非模块化的使用方法</title> <link rel="stylesheet" href="./layui/css/layui.css"> <!--引入这个JS-->
<script type="text/javascript" src="./layui/layui.all.js"></script>
</head>
<body> <script>
layui.use(['layer'],function () {
var layer = layui.layer;
layer.alert("xxxxxxxxxxxxxxxxxxxxxxxx")
})
</script>
</body>
</html>

3.同时引入模块化和非模块化的话可以使用非模块化方法,但是非模块化的JS必须在模块化之后引入

例如:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>模块化的使用</title>
<link rel="stylesheet" href="./layui/css/layui.css"> <!--引入这个JS-->
<script type="text/javascript" src="./layui/layui.js"></script>
<script type="text/javascript" src="./layui/layui.all.js"></script> </head>
<body> <script>
/*必须使用这个方法先引用对应的模块*/
var layer = layui.layer;
layer.alert("xxxxxxxxxxxxxxxxxxxxxxxx")
</script> </body>
</html>

layui的模块化和非模块化使用的更多相关文章

  1. webpack处理非模块化的几方法

    webpack处理非模块化文件有几方法,主要分为外链和webpack打包二种情况: 一.使用CDN外部链接的方法 官网文档External: https://webpack.github.io/doc ...

  2. webpack打包非模块化js

    本文主要记录了非模块化js如何使用webpack打包 模块化打包实现方式 webpack是模块打包工具,通过入口文件递归遍历其依赖图谱,绝对是打包神器. bar.js export default f ...

  3. Vue导入非模块化的第三方插件功能无效解决方案

    一.问题: 最近在写vue项目时,想引入某些非模块化的第三方插件时,总是发现会有报错.且在与本地运行插件测试对比时发现插件根本没有注入到jQuery中(console.log($.fn)查看当前jq有 ...

  4. layui树形表格支持非异步和异步加载

    layui树形表格支持非异步和异步加载. 仓库地址:https://gitee.com/uniqid/ 使用示例如下: <div class="uui-admin-common-bod ...

  5. 总结Vue第三天:模块化和webpack模块化打包:

    总结Vue第三天:模块化和webpack模块化打包: 一.❀ 模块化 [导入import-----导出export] 1.为什么需要模块化? JavaScript 发展初期,代码简单地堆积在一起,只要 ...

  6. 模块化和webpack模块化打包

    模块化和webpack模块化打包: 一.❀ 模块化 [导入import-----导出export] 1.为什么需要模块化? JavaScript 发展初期,代码简单地堆积在一起,只要能顺利地从上往下一 ...

  7. js模块化开发——前端模块化

    在JavaScript发展初期就是为了实现简单的页面交互逻辑,寥寥数语即可:如今CPU.浏览器性能得到了极大的提升,很多页面逻辑迁移到了客 户端(表单验证等),随着web2.0时代的到来,Ajax技术 ...

  8. js模块化规范—概念和模块化进化史以及模块化的问题

    模块的概念 一个复杂的项目开发中,会写很多js文件,一个js文件执行某些特定的功能,那么每个js都可以称为一个模块,这就是模块的概念 每个js模块内部数据/实现是私有的, 只是向外部暴露一些接口(方法 ...

  9. ES6 模块化与 CommonJS 模块化

    ES6 模块化 import命令用于输入其他模块提供的功能;export命令用于规定模块的对外接口. export 可以有多个,export default 仅有一个 a.js 模块a文件 导出多个方 ...

随机推荐

  1. windows操作系统下载tomcat,并与eclipse进行整合

    进入Tomcat官网之后,在左边我们看到,Tomcat的有6,7,8这三个最流行的版本,我们可以点击进去下载想要的版本. 进入里面之后,可以看见有64位的和32位的,就看自己的电脑是多少位的了,如果电 ...

  2. 【笔记】sublime 一些常用功能和快捷键

    Ctrl+D 选词 (反复按快捷键,即可继续向下同时选中下一个相同的文本进行同时编辑)Ctrl+G 跳转到相应的行Ctrl+J 合并行(已选择需要合并的多行时)Ctrl+L 选择整行(按住-继续选择下 ...

  3. asp.netMVC中权限控制论

    这里设想了一个简单的思路,如果用户登录了,也就是session中有值才可以在控制器中操作,这样先添加一个控制器,如下代码: public class AuthController : Controll ...

  4. 用CSS实现3D 滚动的立方体

    用css3写3D立方体用到的属性不多,就那么几个:perspective,transform-style,以及transform. 目前来说能完美支持3D的浏览器有chrome.safari,火狐也支 ...

  5. MySQL5.7初始配置

    MySQL5.7初始配置 Windows7 环境安装MySQL5.7配置命令 <<<<<<<<<<<<<<<& ...

  6. 转:评估指标MAP

    转:http://www.zhenv5.com/?p=1079 MAP可以由它的三个部分来理解:P,AP,MAP 先说P(Precision)精度,正确率.在信息检索领域用的比较多,和正确率一块出现的 ...

  7. 【BZOJ2115】Xor(线性基)

    [BZOJ2115]Xor(线性基) 题面 BZOJ Description Input 第一行包含两个整数N和 M, 表示该无向图中点的数目与边的数目. 接下来M 行描述 M 条边,每行三个整数Si ...

  8. 洛谷P4630 [APIO2018] Duathlon 铁人两项 【圆方树】

    题目链接 洛谷P4630 题解 看了一下部分分,觉得树的部分很可做,就相当于求一个点对路径长之和的东西,考虑一下能不能转化到一般图来? 一般图要转为树,就使用圆方树呗 思考一下发现,两点之间经过的点双 ...

  9. Linux用户创建及权限管理

    作业一: 1,新建用户natasha,uid为1000,gid为555,备注信息为“master” useradd natasha            vim /etc/passwd         ...

  10. Linux之Json20160705

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言.易于人阅读和编写,同时也易 ...