时间:2022-09-23 10:09:37 | 栏目:JavaScript代码 | 点击:次
layui是一个极其不错的前端UI框架、是后端程序员的福音。总之如果你是一个后端开发者、如果你苦于你的界面“惨不忍睹”、选择layui来开发是个极好的选择。
之前的项目也有使用过layui、只是没有过多的关注其框架本身。对于项目上、拿来即用即可!
为什么要自定义模块呢?好处很多、比如可以大量重用代码......
我也是一个极其懒惰的人、总是想办法让代码可重用
根据layui官方的文档说明、首先第一步是要确定你要扩展的模块名称
我现在做的是登录功能、因此我的扩展模块名叫 login
使用layui.define()方法来扩展模块、当然模块中你也可以使用layui的其他方法、如下
layui.define('layer', callback);
在定义扩展模块的时候、我需要使用layui的layer模块、然后在回调函数中定义自己的方法
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模块、以便在我登录的时候、不需要写过度的代码即可实现登录、让页面看起来更清爽【无任何杂质】
那么模块定义完了、怎么使用呢?
<script type="text/javascript"> layui.config({ base: '/static/admin/js/module/'//模块存放的目录 }).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; login.login("{:url('Login/doLogin')}",field,$,"{:url('Index/index')}"); return false; }); }); </script>
嗯、就这样、在登录的时候、直接将参数传递过去即可、在上述代码中url部分是使用TP的方法生成的、这里不用过多的研究【如果你是写前端的话】。
嗯、就这样、整个模块定义完成!!展示的效果如下