Layui 基本语法学习指南

Layui 是一个经典的模块化前端框架,以其轻量易用、组件丰富著称。以下是 Layui 的核心语法结构和使用方法:


一、模块加载机制(核心基础)

// 标准模块加载语法
layui.use(['module1', 'module2'], function() {// 回调函数中获取模块var mod1 = layui.module1;var mod2 = layui.module2;// 模块功能调用mod1.doSomething();
});

关键点​:

  1. layui.use() 是入口函数
  2. 数组参数声明依赖的模块
  3. 回调函数在模块加载完毕后执行

二、常用模块使用语法

1. Layer 弹出层
layui.use('layer', function(){var layer = layui.layer;// 基础提示layer.msg('操作成功');// 警告框layer.alert('重要提示');// 确认对话框layer.confirm('确定删除吗?', function(index){layer.msg('已删除');layer.close(index);});
});
2. Form 表单处理
layui.use('form', function(){var form = layui.form;// 表单渲染(必须调用)form.render();// 监听提交form.on('submit(formDemo)', function(data){console.log(data.field); // 表单字段值return false; // 阻止表单跳转});// 监听复选框form.on('checkbox(filter)', function(data){console.log(data.elem.checked);});
});
3. Table 数据表格
layui.use('table', function(){var table = layui.table;table.render({elem: '#dempTable',url: '/api/data',cols: [[{field: 'id', title: 'ID'},{field: 'name', title: '姓名'},{field: 'age', title: '年龄'}]]});// 表格重载table.reload('dempTable', {where: {key: 'value'}});
});
4. Util 工具模块
layui.use('util', function(){var util = layui.util;// 时间戳格式化util.toDateString(1672531200, 'yyyy-MM-dd'); // 2023-01-01// 倒计时util.countdown(new Date(2023, 11, 31), function(date){console.log(date.seconds);});
});

三、常用组件语法

1. 按钮组
<button class="layui-btn">默认按钮</button>
<button class="layui-btn layui-btn-primary">原始按钮</button>
<button class="layui-btn layui-btn-danger">警告按钮</button>
<button class="layui-btn layui-btn-disabled">禁用按钮</button>
2. 布局系统
<div class="layui-row"><div class="layui-col-md4">左侧</div><div class="layui-col-md8">右侧</div>
</div>
3. 图标使用
<i class="layui-icon">&#xe60c;</i> <!-- 爱心图标 -->
<i class="layui-icon layui-icon-home"></i> <!-- 新版图标 -->
4. 导航菜单
<ul class="layui-nav"><li class="layui-nav-item"><a href="">首页</a></li><li class="layui-nav-item layui-this"><a href="">产品</a></li>
</ul>

四、事件监听语法

1. 通用元素事件
layui.$('.item').on('click', function(){layer.msg('元素被点击');
});
2. 模块特定事件
// 表单事件
form.on('select(filter)', function(data){console.log('下拉选择:', data.value);
});// 表格行点击事件
table.on('row(tableDemo)', function(obj){console.log('行数据:', obj.data);
});

五、全局配置

// 修改默认配置(需在 use 之前)
layui.config({version: '1.0.0',     // 锁定版本base: '/res/layui/',  // 自定义模块路径debug: true           // 开启调试模式
});

六、自定义模块(进阶)

// 定义模块
layui.define(function(exports){var demo = {hello: function(){layer.msg('Hello Layui');}};exports('mymodule', demo);
});// 使用自定义模块
layui.use('mymodule', function(){layui.mymodule.hello();
});

七、最佳实践建议

  1. 模块化加载原则​:

    // ✅ 正确方式:按需加载
    layui.use(['form', 'layer'], function(){// 初始化逻辑
    });// ❌ 避免直接访问(可能未加载)
    var layer = layui.layer;
  2. DOM 操作时机​:

    layui.use(function(){// ✅ DOM 操作放在这里(确保元素已渲染)layui.$('.btn').on('click', handler);
    });
  3. 版本控制​:

    <link rel="stylesheet" href="layui.css?v=2.8.0">
    <script src="layui.js?v=2.8.0"></script>
  4. 扩展方法封装​:

    layui.extend({myutil: '/js/myutil' // 扩展工具库
    });layui.use('myutil', function(){layui.myutil.customMethod();
    });

学习资源推荐

  1. 官方文档:Layui - 极简模块化前端 UI 组件库
  2. 示例中心:https://www.layui.dev/demo/
  3. GitHub:https://github.com/layui/layui

Layui 遵循"经典模块化"理念,掌握 use()->获取模块->调用功能 这一核心链路,就能快速上手 80% 的日常开发任务。表格、表单、弹窗三大组件满足后台系统基础需求,配合布局和工具类可快速构建响应式页面。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/93759.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/93759.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/93759.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于百度 iframe 框架与语音解析服务的数字人交互系统实现

在智能化交互场景中,数字人作为人机交互的重要载体,其语音交互能力与指令响应效率直接影响用户体验。本文将详细介绍如何基于百度提供的 iframe 框架与语音解析服务,实现数字人语音播报、文字展示及指令响应的完整业务流程,涵盖从插件初始化到实时语音交互的全链路实现逻辑…

高防服务器租用的优势有哪些?

高防服务器具有着强大的防护能力&#xff0c;可以帮助企业抵御各种网络攻击&#xff0c;其中包括大规模的DDOS攻击&#xff0c;高防服务器中还有着防火墙、流量清洗和负载均衡等多种安全技术&#xff0c;能够保证业务持续稳定的运行&#xff0c;降低了企业整体的损失和安全风险…

7.28 进制交换|迭代器模式|map|子集按位或|带参递归

lc701.二叉搜索树插入void dfs不行TreeNode* dfs&#xff0c;带接受参数处理的dfs当为空的时候&#xff0c;就可以添加插入if (!root){return new TreeNode(val);}插入位置root->left insertIntoBST(root->left, val);class Solution {public:TreeNode* insertIntoBST(T…

方法学习(二)

.一、变量作为实参使用&#xff1a;1.定义一个方法&#xff0c;比较两个整数的大小&#xff0c;如果第一个整数比第二个整数大&#xff0c;返回true否则返回false。public static void main(String[] args) {int i 3;int j 5;//传递的是i和j&#xff0c;但是真正传递的是i和j…

计算机视觉CS231n学习(1)

面向视觉识别的卷积神经网络 CS231n Introduction计算机视觉的历史 the history of computer vision 重要节点&#xff1a;1959 Hubel & Wiesel 利用和人比较相像的猫的视觉神经做实验&#xff1a;简单细胞反应灯的位置&#xff1b;复杂细胞反应灯的位置和移动&#xff1b;…

【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 微博内容IP地图可视化分析实现

大家好&#xff0c;我是java1234_小锋老师&#xff0c;最近写了一套【NLP舆情分析】基于python微博舆情分析可视化系统(flaskpandasecharts)视频教程&#xff0c;持续更新中&#xff0c;计划月底更新完&#xff0c;感谢支持。今天讲解微博内容IP地图可视化分析实现 视频在线地…

Z20K118库中寄存器及其库函数封装-SYSCTRL库

1. 系统设备识别寄存器(SCM)7个位域。 记录设备信息。Z20K11x[FAM_ID:Z20K/Z20M,SUBF_ID:1/3,SER_ID:1/4]特征ID版本号FLASH存储器大小封装类型。1-1 SYSCTRL_DeviceId_t SYSCTRL_GetDeviceId(void)读取设备信息。2.独一ID号寄存器&#xff08;SCM&#xff09;4个该寄存器存储完…

007TG洞察:波场TRON上市观察,Web3流量工具的技术解析与应用

引言&#xff1a;波场TRON&#xff08;TRX&#xff09;登陆资本市场及近期加密市场热点&#xff08;如MEME币&#xff09;&#xff0c;凸显了实时流量捕获与转化在Web3领域的战略地位。对于技术团队而言&#xff0c;构建支撑全球业务的Web3平台&#xff0c;核心挑战在于&#x…

STM32——HAL 库MDK工程创建

总&#xff1a;STM32——学习总纲 参考工程&#xff1a; 实验0-3&#xff0c;新建工程实验-HAL库版本 前置知识&#xff1a; STM32——HAL库 一、HAL 库 MDK工程新建步骤简介 例&#xff1a; 各个文件夹内容&#xff1a; 1.1 Drivers 1.2 Middlewares 1.3 Output 1.4 Pro…

【图像处理】霍夫变换:霍夫变换原理、霍夫空间、霍夫直线、霍夫圆详解与代码示例

霍夫变换详解与代码示例 霍夫变换&#xff08;Hough Transform&#xff09;是一种用于检测图像中几何形状&#xff08;如直线、圆&#xff09;的特征提取技术。其核心思想是将图像空间中的点映射到参数空间&#xff08;霍夫空间&#xff09;&#xff0c;通过累积投票机制识别形…

Java WEB技术-序列化和反序列化认识(SpringBoot的Jackson序列化行为?如何打破序列化过程的驼峰规则?如何解决学序列化循环引用问题?)

一、什么是序列化和反序列化 在java项目中&#xff0c;对象序列化和反序列化通常用于对象的存储或网络传输等。如&#xff1a;服务端创建一个JSON对象&#xff0c;对象如何在网络中进行传输呢&#xff1f;我们知道网络传输的数据通常都是字节流的形式&#xff0c;对象想要在网络…

【生活系列】MBTI探索 16 种性格类型

博客目录一、MBTI 的四个核心维度1. 精力来源&#xff1a;外向&#xff08;E&#xff09;vs 内向&#xff08;I&#xff09;2. 信息获取方式&#xff1a;感觉&#xff08;S&#xff09;vs 直觉&#xff08;N&#xff09;3. 决策方式&#xff1a;思考&#xff08;T&#xff09;v…

innovus在ccopt_design时设置update io latency

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 往期文章:

电脑出现英文字母开不了机怎么办 原因与修复方法

当您按下电脑开机键&#xff0c;屏幕上却只显示一串串陌生的英文字母&#xff0c;无法正常进入系统时&#xff0c;这通常是电脑在向您“求救”。这种情况可能由多种原因引起&#xff0c;从外部设备冲突到系统文件损坏&#xff0c;都可能导致电脑无法启动。不必过于焦虑&#xf…

CSS和XPATH选择器对比

1、优缺点比较特性CSS选择器XPath语法复杂度简洁易读较为复杂性能通常更快可能较慢向上遍历不支持支持&#xff08;可选择父元素&#xff09;文本内容选择有限支持完全支持索引选择支持&#xff08;:nth-child&#xff09;支持&#xff08;position()&#xff09;浏览器兼容性优…

libomxil-bellagio移植到OpenHarmony

当使用mesa3dcangh提供的amd显卡驱动时&#xff0c;想利用 Mesa 提供的图形硬件加速能力&#xff0c;来支持视频编解码操作时。需要依赖libomxil-bellagio库&#xff0c;现在成果分享如下&#xff1a; 基础知识 1.OpenHarmony中mesa3d amd显卡驱动编译 2.OpenHarmony中基于G…

uvm-tlm-sockets

TLM 2.0引入了套接字(Socket)机制&#xff0c;实现发起方(initiator)与目标方(target)组件间的异步双向数据传输。套接字与端口(port)和导出(export)同源&#xff0c;均继承自uvm_port_base基类。发起事务的组件使用发起方套接字(initiator socket)&#xff0c;称为发起方&…

AI 如何评价股票:三七互娱(SZ:002555),巨人网络(SZ:002558)

三七互娱&#xff08;SZ:002555&#xff09;作为国内领先的游戏公司&#xff0c;其股票表现需结合财务健康度、行业地位、战略布局及潜在风险综合评估。以下从多维度展开分析&#xff1a; 一、财务表现&#xff1a;增长乏力与高分红并存营收与利润双降 2025年Q1营收42.43亿元&a…

Vibe Coding:AI驱动开发的安全暗礁与防护体系

当OpenAI联合创始人Andrej Karpathy在2025年初的推文里首次提及"Vibe Coding"时&#xff0c;这个概念迅速在开发者社区引发共鸣——它描绘了一种诱人的开发模式&#xff1a;开发者用自然语言描述需求&#xff0c;AI接管代码生成、修改甚至调试&#xff0c;整个过程以…

四、主辅源电路

一、主辅源结构主辅源采用反激变换器拓扑&#xff0c;输入供电有母线供电、电池辅源供电、电网辅源供电。开关管为一个高耐压NMOS功率管。主控芯片采用ICE3BS03LJG&#xff0c;其主要参数如下&#xff1a;商品目录AC-DC控制器和稳压器是否隔离隔离工作电压10.5V~26V开关频率65k…