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>

 

在登录的时候、直接将参数传递过去即可。展示的效果如下

 

posted @   牛奔  阅读(5799)  评论(0编辑  收藏  举报
编辑推荐:
· 基于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最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示