LayUi自定义模块的定义与使用

LayUi自定义模块的定义与使用layui 中你模块其实是动态加载一个 js 将其中的对象注册到 layui 的 modules 对象 在 layui 中的 modules 数组中 存储所有的自定义模块 1 定义 layui 模块来源于官方文档定义方法 config 的设置是全局的 layui

欢迎大家来到IT世界,在知识的湖畔探索吧!

layui中你模块其实是动态加载一个js,将其中的对象注册到layui的modules对象。

在layui中的modules数组中,存储所有的自定义模块。

1、定义layui模块

来源于官方文档定义方法

//config的设置是全局的 layui.config({ base: '/res/js/' //假设这是你存放拓展模块的根目录 }).extend({ //设定模块别名 mymod: 'mymod' //如果 mymod.js 是在根目录,也可以不用设定别名 ,mod1: 'admin/mod1' //相对于上述 base 目录的子目录 });

欢迎大家来到IT世界,在知识的湖畔探索吧!

要注意在整体生命周期中config中的base只能有一个。

2、定义一个基本layui模块

目录路径为
/Style/Test/layui/module/module1.js

代码

欢迎大家来到IT世界,在知识的湖畔探索吧!layui.define(['layer','laydate'],function (exports) { var layer = layui.layer; //定义一个对象 var o = { sayHello: function (str) { layer.msg(str); } }; //输出 mymod 接口 exports('module1', o); });

3、注册当前模块到layui中

编写一个通用注册模块的方法

//注册一个目录下的模块 function registerLauiModule(baseDir,moduleNames) { function moduleIsExist(moduleName) { var retValue = false; for (var o in layui.modules) { if (o === moduleName) { retValue = true; break; } } return retValue; } var arrModuleName = moduleNames.split(','); var moduleConfig = {}; $.each(arrModuleName, function (i, item) { if (moduleIsExist(item) !== true) { moduleConfig[item] = "{/}" + baseDir + "/" +item; } }); var moduleCount = 0; for (var o in moduleConfig) { moduleCount++; } if (moduleCount > 0) { layui.extend(moduleConfig); } }

其中 baseDir,为注册的目录 moduenames为当前目录下的文件名,同时也是模块名,可以是多个使用,进行分隔,

核心关键点:

使用layui.modules来判断是否已经注册,如果已经注册则不再注册,这个是核心的关键,否则会提示当前模块已经被注册,防止重复注册。

4、调用自定义layui模块

注册好后就可以layui.use进行使用layui的全局自定义模块代码

直接代码

欢迎大家来到IT世界,在知识的湖畔探索吧!var $ = layui.$; $(function () { registerLauiModule("/Style/Test/layui/module/", "module1,module2"); registerLauiModule("/Style/Test/extModule/", "module3"); layui.use(["module1", "module3"], function() { var module1 = layui.module1; var module3 = layui.module3; module1.sayHello("hello1"); module3.sayHello("hello2"); //module2.sayBye("bye1"); }); });

代码说明:

  • 使用注册函数方法,可以注册不同的目录下的不同的模块
  • 同时防止重复注册

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/131273.html

(0)
上一篇 14分钟前
下一篇 2025年 5月 22日 下午8:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信