博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
layUI
阅读量:6202 次
发布时间:2019-06-21

本文共 2790 字,大约阅读时间需要 9 分钟。

关于layUI模块的核心,就是 layui.js 的两个底层方法:一个用于定义模块的 layui.define(),一个加载模块的 layui.use()

1、预先加载

Layui的模块加载采用核心的 layui.use(mods, callback)方法,当你的JS 需要用到Layui模块的时候,我们更推荐你采用预先加载,因为这样可以避免到处写layui.use的麻烦。你应该在最外层如此定义:

/*  Demo1.js  使用Layui的form和upload模块*/layui.use(['form', 'upload'], function(){  //如果只加载一个模块,可以不填数组。如:layui.use('form')  var form = layui.form //获取form模块  ,upload = layui.upload; //获取upload模块    //监听提交按钮  form.on('submit(test)', function(data){    console.log(data);  });    //实例化一个上传控件  upload({    url: '上传接口url'    ,success: function(data){      console.log(data);    }  })});

2、模块命名空间

layui 的模块接口会绑定在 layui 对象下,内部由 layui.define() 方法来完成。每一个模块都会一个特有的名字,并且无法被占用。所以你无需担心模块的空间被污染,除非你主动 delete layui.{模块名}。调用模块可通过 layui.use 方法来实现,然后再通过 layui 对象获得模块接口。如:

layui.use(['layer', 'laypage', 'laydate'], function(){  var layer = layui.layer //获得layer模块  ,laypage = layui.laypage //获得laypage模块  ,laydate = layui.laydate; //获得laydate模块    //使用模块});

  注意:事实上,如果你不想采用 layui.use,你可以引入 layui.all.js 来替代 layui.js,见:

3、扩展一个 layui 模块

扩展一个Layui模块方法:

第一步:确认模块名,假设为:mymod,然后新建一个mymod.js 文件放入项目任意目录下(注意:不用放入layui目录)

第二步:编写test.js 如下:

/**  扩展一个test模块**/       layui.define(function(exports){ //提示:模块也可以依赖其它模块,如:layui.define('layer', callback);  var obj = {    hello: function(str){      alert('Hello '+ (str||'mymod'));    }  };    //输出test接口  exports('mymod', obj);});

  第三步:设定扩展模块所在的目录,然后就可以在别的JS文件中使用了

//config的设置是全局的    layui.config({      base: '/res/js/' //假设这是你存放拓展模块的根目录    }).extend({ //设定模块别名      mymod: 'mymod' //如果 mymod.js 是在根目录,也可以不用设定别名      ,mod1: 'admin/mod1' //相对于上述 base 目录的子目录    });         //你也可以忽略 base 设定的根目录,直接在 extend 指定路径(主要:该功能为 layui 2.2.0 新增)    layui.extend({      mod2: '{/}http://cdn.xxx.com/lib/mod2' // {/}的意思即代表采用自有路径,即不跟随 base 路径    })         //使用拓展模块    layui.use(['mymod', 'mod1'], function(){      var mymod = layui.mymod      ,mod1 = layui.mod1      ,mod2 = layui.mod2;            mymod.hello('World!'); //弹出 Hello World!    });

  案例:

时间线:

  • 8月18日

    layui 2.0 的一切准备工作似乎都已到位。发布之弦,一触即发。

    不枉近百个日日夜夜与之为伴。因小而大,因弱而强。
    无论它能走多远,抑或如何支撑?至少我曾倾注全心,无怨无悔

  • 8月16日

    杜甫的思想核心是儒家的仁政思想,他有“致君尧舜上,再使风俗淳”的宏伟抱负。个人最爱的名篇有:

    • 《登高》
    • 《茅屋为秋风所破歌》
  • 8月15日

    中国人民抗日战争胜利72周年

    常常在想,尽管对这个国家有这样那样的抱怨,但我们的确生在了最好的时代
    铭记、感恩
    所有为中华民族浴血奋战的英雄将士
    永垂不朽

  • 过去

  运行图:

每个模块都有对应的API说明使用文档,https://www.layui.com/demo/

layui文件下载地址:链接:https://pan.baidu.com/s/1z9aDwKJwa2vW46vpmS8DxQ 密码:jt2x

 

转载于:https://www.cnblogs.com/lvxisha/p/9750359.html

你可能感兴趣的文章
UI线程同步
查看>>
Centos安装zeromq, jzmq
查看>>
java的HashMap 原理
查看>>
宿主进程 [*.vshost.exe] & [*.vshost.exe.config]
查看>>
JS自学笔记01
查看>>
cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
查看>>
ibatis源码学习2_初始化和配置文件解析
查看>>
剖析一个由sendfile引发的linux内核BUG
查看>>
玩转Red5+Flex(4)—— Red5配置文件之解说
查看>>
View
查看>>
NSString 小技巧
查看>>
python爬取智联招聘职位信息(单进程)
查看>>
archlinux/manjaro mysql安装[linux]
查看>>
用普通网络摄像头模拟Leap Motion追踪性能
查看>>
亲身经历——大体量公司能为程序员的生涯带来什么帮助?
查看>>
MVC、MVVM
查看>>
cocos2dx 3.x (单选,多选,复选checkBox按钮的实现) RadioButton
查看>>
Maven 插件打包部署项目
查看>>
最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用52
查看>>
list实现大整数加法
查看>>