Layui自定义模块定义与调用完整流程

作者:阿沐时间:2026-10-24 01:46:01浏览:461

本文详细介绍在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自定义模块定义与使用的完整示例,供开发者参考。

作者最新文章