Layer UI 模块化的用法

此文章适合入门的同学查看,之前因为项目的原因,在网上找了一套Layer UI做的后台管理系统模板,完全不懂LayUI里面的JS用法,看了官方文档和其它资料后才明白怎么去实现模块化这个例子,但是还是感觉网上的资料写得不够清晰,我尝试把自己的想法写出来,大家可以一起学习

1.首先从简单的入手

加载所需模块

方法:layui.use([mods], callback)

引用了Layui.js后

往js文件写入

layui.use(['layer'],function(){  [mods]加载的模块,现在加载的是弹出层
    var layer = layui.layer;  弹出层模块
    layer.msg('风继续吹')
})

2.定义模块

方法:layui.define([mods], callback)

layui.define(['layer'], function(exports){
  //do something
  
  exports('demo', function(){
    alert('Hello World!');
  });
});

3.全局配置

方法:layui.config(options)

 
  1. layui.config({

  2. base: 'js/' //你存放新模块的目录,注意,不是layui的模块目录

  3. }).use('index'); //加载入口

 

来到这一步,也许你还不明白,但是看完以下这个例子,你就会清晰多了

1.新建一个js文件夹和一个index.html,再加上官方下载的layui文件

在js文件夹里面建立index.js(注意这个文件的名称)

目录现在是这样的

2.再进行全局配置

在index.html中写

layui.config({
    base:'js/' //你存放新模块的目录,注意,不是layui的模块目录
   }).use(['index','layer'],function(){ //加载入口 上述的 index 即为你 js/ 目录下的 index.js,看看官方的文件结构,如下图,index.js相当于就成为了新的文件模块(与下文提的模块不一样)
        var layer = layui.layer;
        layer.msg('leslie world');
})


不仅可以指定我们的index.js模块文件模块(),还可以引用内置的模块,比如laydate,layer等等

3.自定义模块

在index.js中

layui.define(['layer'],function(exports){  //引用layer模块
    var layer = layui.layer;
    exports('index',function(){  //注意,这里是模块输出的核心,模块名必须和use时的模块名一致,这里的index就是在index.html use的模块
        layer.msg('leslie cheung');
    })
})
现在呢,我们已经定义了新的模块 index,怎么去运行该模块呢

4.最后使用热加载模块layui.use()

继续在index.js写

layui.use(['index'],function(){
    layui.index()  //调用index这个自定义模块
})
最后总结一下,通俗易懂点来讲,进行全局配置(layui.config):创建的这个index.js是我们业务所需要的文件模块,类似于layer,laydate那些结构的;

自定义模块:接着我们发现业务的需求,需要进一步在index.js去写自己的小模块,于是呢通过define自定义模块;

热加载模块:内置模块和自定义模块怎么使用,通过layui.use()去加载
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Layui 是一款经典的前端 UI 框架,其模块化用法是通过 layui.define 和 layui.use 进行模块的定义和使用。 在 Layui 中,每个模块都有一个唯一的模块名,通过 layui.define 方法来定义模块。定义模块时,可以指定依赖的其他模块,这样在使用该模块时,依赖的模块会自动加载。 下面是一个示例: ```javascript // 定义一个名为 demo 的模块,依赖了 layer 模块和 form 模块 layui.define(['layer', 'form'], function(exports){ var layer = layui.layer; var form = layui.form; // 在这里编写模块的具体逻辑 // 导出模块 exports('demo', { // 导出的方法或属性 }); }); ``` 在上述代码中,我们定义了一个名为 demo 的模块,依赖了 layer 模块和 form 模块。在回调函数中,我们可以通过 layui.layerlayui.form 来使用这两个依赖模块的功能。最后,通过 exports 方法将需要导出的方法或属性导出。 在使用该模块时,可以通过 layui.use 方法来加载并使用该模块,如下所示: ```javascript layui.use(['demo'], function(){ var demo = layui.demo; // 使用 demo 模块提供的方法或属性 }); ``` 在上述代码中,我们通过 layui.use 方法加载了 demo 模块,并将其赋值给 demo 变量,然后就可以使用 demo 模块提供的方法或属性了。 这就是 Layui模块化用法,通过定义和使用模块,可以更好地组织和管理前端代码。希望对你有所帮助!如果还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值