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()去加載
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章