zoukankan      html  css  js  c++  java
  • layUI

    关于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!
        });
              
    

      案例:

    时间线:

    <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">�</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>
    

      运行图:

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

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

  • 相关阅读:
    C99新增内容之复合文字(compound literal)
    直接编译caffe出现的两个问题
    安装cuda8.0中所遇到的问题-解决办法
    windows环境Caffe安装配置步骤(无GPU)及mnist训练
    leetcodeTop100好题
    只不过是从头再来,读java源码
    文章收藏
    java代码优化技巧
    xshell
    MVC框架笔记
  • 原文地址:https://www.cnblogs.com/lvxisha/p/9750359.html
Copyright © 2011-2022 走看看