Layui自定义模块的使用方式
为什么要自定义模块呢?好处很多、比如可以大量重用代码......
根据layui官方的文档说明、首先第一步是要确定你要扩展的模块名称
现在做的是登录功能、因此扩展模块名叫 login
使用layui.define()方法来扩展模块、当然模块中你也可以使用layui的其他方法、如下
layui.define('layer', callback);
在定义扩展模块的时候、我需要使用layui的layer模块、然后在回调函数中定义自己的方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | layui.define([ "layer" , "jquery" ], function (exports) { var obj = { login : function (url,data,$,targetUrl) { $.post(url,{code:data.code}, function (res) { if (res.code&&res.code==400){ layer.msg(res.msg,{icon:1}, function () { window.location.href = targetUrl; }); } else { layer.msg(res.msg,{icon:1}, function () { window.location.href = targetUrl; }); } }); } } exports( "login" ,obj); }); |
上述代码中定义了一个login模块、以便在我登录的时候、不需要写过度的代码即可实现登录、让页面看起来更简洁
那么模块定义完了、怎么使用呢?
我们遵循 layui 的模块规范建立一个入口文件,并通过 layui.use() 方式来加载该入口文件,最终使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <script type= "text/javascript" > layui.config({ base: '/static/admin/js/module/' //存放新模块的目录,注意,不是layui的模块目录 }). use ([ 'jquery' , 'element' , 'form' , 'login' ], function () { var $ = layui.jquery, form = layui.form, element = layui.element, login = layui.login; form.on( "submit(subBtn)" , function (data) { //获取表单的值 var field = data.field;<br> // url部分是使用TP的方法生成的、这里不用过多的研究 login.login( "{:url('Login/doLogin')}" ,field,$, "{:url('Index/index')}" ); return false; }); }); </script> |
在登录的时候、直接将参数传递过去即可。展示的效果如下
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通