溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

layui模塊的核心知識(shí)是什么

發(fā)布時(shí)間:2020-06-23 20:19:31 來源:億速云 閱讀:297 作者:Leah 欄目:web開發(fā)

這篇文章運(yùn)用簡單易懂的例子給大家介紹layui模塊的核心知識(shí),代碼非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

關(guān)于layUI模塊的核心,就是 layui.js 的兩個(gè)底層方法:一個(gè)用于定義模塊的 layui.define(),一個(gè)加載模塊的 layui.use()。

1、預(yù)先加載

Layui的模塊加載采用核心的 layui.use(mods, callback)方法,當(dāng)你的JS 需要用到Layui模塊的時(shí)候,我們更推薦你采用預(yù)先加載,因?yàn)檫@樣可以避免到處寫layui.use的麻煩。你應(yīng)該在最外層如此定義:

+ View Code

2、模塊命名空間

layui 的模塊接口會(huì)綁定在 layui 對(duì)象下,內(nèi)部由 layui.define() 方法來完成。每一個(gè)模塊都會(huì)一個(gè)特有的名字,并且無法被占用。所以你無需擔(dān)心模塊的空間被污染,除非你主動(dòng) delete layui.{模塊名}。調(diào)用模塊可通過 layui.use 方法來實(shí)現(xiàn),然后再通過 layui 對(duì)象獲得模塊接口。如:

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

注意:事實(shí)上,如果你不想采用 layui.use,你可以引入 layui.all.js 來替代 layui.js,見:非模塊化用法

3、擴(kuò)展一個(gè) layui 模塊

擴(kuò)展一個(gè)Layui模塊方法:

第一步:確認(rèn)模塊名,假設(shè)為:mymod,然后新建一個(gè)mymod.js 文件放入項(xiàng)目任意目錄下(注意:不用放入layui目錄)

第二步:編寫test.js 如下:

/**
  擴(kuò)展一個(gè)test模塊
**/     
  
layui.define(function(exports){ //提示:模塊也可以依賴其它模塊,如:layui.define('layer', callback);
  var obj = {
    hello: function(str){
      alert('Hello '+ (str||'mymod'));
    }
  };
   
  //輸出test接口
  exports('mymod', obj);
});

第三步:設(shè)定擴(kuò)展模塊所在的目錄,然后就可以在別的JS文件中使用了

//config的設(shè)置是全局的
layui.config({
  base: '/res/js/' //假設(shè)這是你存放拓展模塊的根目錄
}).extend({ //設(shè)定模塊別名
  mymod: 'mymod' //如果 mymod.js 是在根目錄,也可以不用設(shè)定別名
  ,mod1: 'admin/mod1' //相對(duì)于上述 base 目錄的子目錄
});
  
//你也可以忽略 base 設(shè)定的根目錄,直接在 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!
});

案例:

時(shí)間線:

<ul class="layui-timeline">
  <li class="layui-timeline-item">
    <i class="layui-icon layui-timeline-axis"></i>
    <div class="layui-timeline-content layui-text">
      <h4 class="layui-timeline-title">8月18日</h4>
      <p>
        layui 2.0 的一切準(zhǔn)備工作似乎都已到位。發(fā)布之弦,一觸即發(fā)。
        <br>不枉近百個(gè)日日夜夜與之為伴。因小而大,因弱而強(qiáng)。
        <br>無論它能走多遠(yuǎn),抑或如何支撐?至少我曾傾注全心,無怨無悔 <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">
      <h4 class="layui-timeline-title">8月16日</h4>
      <p>杜甫的思想核心是儒家的仁政思想,他有“<em>致君堯舜上,再使風(fēng)俗淳</em>”的宏偉抱負(fù)。個(gè)人最愛的名篇有:</p>
      <ul>
        <li>《登高》</li>
        <li>《茅屋為秋風(fēng)所破歌》</li>
      </ul>
    </div>
  </li>
  <li class="layui-timeline-item">
    <i class="layui-icon layui-timeline-axis"></i>
    <div class="layui-timeline-content layui-text">
      <h4 class="layui-timeline-title">8月15日</h4>
      <p>
        中國人民抗日戰(zhàn)爭勝利72周年
        <br>常常在想,盡管對(duì)這個(gè)國家有這樣那樣的抱怨,但我們的確生在了最好的時(shí)代
        <br>銘記、感恩
        <br>所有為中華民族浴血奮戰(zhàn)的英雄將士
        <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>

關(guān)于layui模塊的核心知識(shí)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI