layui模块介绍


本文摘自PHP中文网,作者尚,侵删。

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

1、预先加载

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

1

+ View Code

2、模块命名空间

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

1

2

3

4

5

6

7

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 如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

/**

  扩展一个test模块

**/    

   

layui.define(function(exports){ //提示:模块也可以依赖其它模块,如:layui.define('layer', callback);

  var obj = {

    hello: function(str){

      alert('Hello '+ (str||'mymod'));

    }

  };

    

  //输出test接口

  exports('mymod', obj);

});

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

//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!

});

案例:

时间线:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

<ul class="layui-timeline">

  <li class="layui-timeline-item">

    <i class="layui-icon layui-timeline-axis">?</i>

    <div class="layui-timeline-content layui-text">

      <h3 class="layui-timeline-title">8月18日</h3>

      <p>

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

        <br>不枉近百个日日夜夜与之为伴。因小而大,因弱而强。

        <br>无论它能走多远,抑或如何支撑?至少我曾倾注全心,无怨无悔 <i class="layui-icon">?J</i>

      </p>

    </div>

  </li>

  <li class="layui-timeline-item">

    <i class="layui-icon layui-timeline-axis">?</i>

    <div class="layui-timeline-content layui-text">

      <h3 class="layui-timeline-title">8月16日</h3>

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

      <ul>

        <li>《登高》</li>

        <li>《茅屋为秋风所破歌》</li>

      </ul>

    </div>

  </li>

  <li class="layui-timeline-item">

    <i class="layui-icon layui-timeline-axis">?</i>

    <div class="layui-timeline-content layui-text">

      <h3 class="layui-timeline-title">8月15日</h3>

      <p>

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

        <br>常常在想,尽管对这个国家有这样那样的抱怨,但我们的确生在了最好的时代

        <br>铭记、感恩

        <br>所有为中华民族浴血奋战的英雄将士

        <br>永垂不朽

      </p>

    </div>

  </li>

  <li class="layui-timeline-item">

    <i class="layui-icon layui-timeline-axis">?</i>

    <div class="layui-timeline-content layui-text">

      <div class="layui-timeline-title">过去</div>

    </div>

  </li>

</ul>

以上就是layui模块介绍的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

layui怎么做图片在列表中显示

layui如何提交post

layui前端遇到的难点集合(附代码)

layui弹出层闪退解决

怎么用layui实现图片上传

layui如何对表单标签进行校验

layui分页怎么用

layui怎么使用模块化

layui表格反转的一个简单实现方式

layui的table如何做批量删除

更多相关阅读请进入《layui》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...