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

  •     非模块化不用每次都调用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. vue.js+vue-router+webpack keep-alive用法

    本文是机遇 提纲:   现有需求 各个解决方案的优缺点 相关的问题延伸 keep-alive使用详解   现有需求   每个项目中都存在许多列表数据展示页面,而且通常包含一些筛选条件以及分页.   并 ...

  2. Linux 重定向输出到多个文件中

    转自:http://codingstandards.iteye.com/blog/833695 用途说明 在执行Linux命令时,我们可以把输出重定向到文件中,比如 ls >a.txt,这时我们 ...

  3. HDU4747——2013 ACM/ICPC Asia Regional Hangzhou Online

    啦啦啦. 这是杭州网赛的一个题目,当时没做出来,当然这个想法确实比较难想到. 题目质量很高,这个题目也很特别,以前都没做过类似的题目.让我又一次体验了线段树的强大力量. 题目的意思是给你n个数a1-a ...

  4. Tomcat+JDK安装和配置

    Tomcat+JDK安装和配置 一.打开FlashFXP软件,建立连接,选择需要的包,右击传输到 /home/guest中 二.进入到:cd /home/guest中,对tomcat包进行解压 三.将 ...

  5. Oracle 同名字段的该行数据按照创建时间最新的隐藏其他

    1.需求,表  SYS_INFO   的 NAME 字段会重复,按照  创建时间CREATE_AT 字段,取最新一条,其他隐藏 SELECT * FROM (SELECT T.*,ROW_NUMBER ...

  6. 【BZOJ4300】绝世好题(动态规划)

    [BZOJ4300]绝世好题(动态规划) 题面 BZOJ Description 给定一个长度为n的数列ai,求ai的子序列bi的最长长度,满足bi&bi-1!=0(2<=i<=l ...

  7. Yarn 模式 与 电影受众分析系统

    yarn模式分为两种模式: 一.Yarn-cluster模式 1.通过spark-submit提交spark jar包(Application),与RM进行通信请求启动AM 2.RM接收到请求之后,会 ...

  8. 网络编程----socket介绍、基于tcp协议的套接字实现、基于udp协议的套接字实现

    一.客户端/服务器架构(C/S架构)                                                即C/S架构,包括: 1.硬件C/S架构(打印机) 2.软件C/S架 ...

  9. 把一个文件中所有文件名或者文件路径读取到一个txt文件,然后在matlab中读取

    链接: http://blog.csdn.net/dreamgchuan/article/details/51113295 dir /on/b/s  这个读取的是这样的格式:

  10. mesos+marathon+zookeeper+docker

    http://mesosphere.com/docs/mesosphere/getting-started/single-node-install/ mesos-master --zk=zk://lo ...