Layui自定义模块定义与调用完整流程
本文详细介绍在Layui框架中自定义并调用模块的完整流程。通过layui.define定义包含公共方法的模块,利用layui.config配置模块别名与路径,最后使用layui.use加载并调用自定义模块中的方法,实现代码复用与模块化开发。
Layui自定义模块定义与调用完整流程
在Layui开发过程中,若某些功能方法需被多个JavaScript文件引用,可依据官方文档自定义Layui模块,具体实现步骤如下。
定义模块
首先需要定义一个模块。
//定义模块
layui.define(['form'], function(exports){
var form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
var $ = layui.$;
var obj = {
changeParentPlace: function (parentId,tagId,levelPlace) {
$.ajax({
url:ctx + '/base/place/changeParentPlace',
type:'get',
data:{
parentId:parentId
},
dataType:'json',
success:function (data) {
$("#" + tagId).empty();
$("#" + tagId).append('<option value="">请选择</option>');
if(data.result != null && data.result.length != 0) {
$.each(data.result,function(i,place) {
if(levelPlace == place.name) {
$("#" + tagId).append('<option selected value="'+place.id+'">'+place.name+'</option>')
}else {
$("#" + tagId).append('<option value="'+place.id+'">'+place.name+'</option>')
}
})
}
form.render('select'); //刷新select选择框渲染
}
})
}
}
//输出模块
exports('common', obj);
});
使用layui.define方法来定义模块结构。
在define函数的第一个参数中,可以指定加载Layui内置模块以供使用;第二个参数为回调函数,用于定义该模块公开的公共方法。
exports函数的第一个参数指定模块名称,第二个参数为对象,其中包含定义好的各个方法。
配置模块
接下来进行模块配置。
//设置模块
layui.config({
base: ctx + '/js/app/modules/' //假设这是你存放拓展模块的根目录
}).extend({ //设定模块别名
common:'common'
});
使用layui.config方法来设置模块路径及别名。
base参数用于指定存放自定义模块JS文件的目录路径。
extend参数中的key为设置的模块别名,value为目录中的文件名(Layui会自动补全.js后缀)。
//调用模块
layui.use(['common'], function(){
var common = layui.common;
common.changeParentPlace($("#firstLevelId").val(),'secondLevelId');
});
调用模块
通过layui.use加载common模块后,即可像调用内置模块一样使用自定义方法,例如:common.changeParentPlace($("#firstLevelId").val(),'secondLevelId');。
以上即为Layui自定义模块定义与使用的完整示例,供开发者参考。
为什么叫JavaScript:语言命名由来及与Java的历史渊源
2026-11-05 11:37:48
JS获取当前时间年月日时分秒并格式化为YYYY-MM-DD HH:mm:ss
2026-11-04 21:25:21
不同语言间JS与Java/Python加密结果不一致怎么办
2026-11-04 18:27:23
Mock.js 拦截 Axios 和 Fetch 请求的原理与配置方法
2026-11-04 08:13:59
JS怎么获取当前日期并格式化为YYYY-MM-DD
2026-11-03 18:47:03
