擴展一個 layui 模塊

layui 官方提供的模塊有時可能還無法滿足你,或者你試圖按照layer的模塊規範來擴展一個模塊。那麼你有必要認識layui.define()方法。並粗略瞭解一下extend(我糾結過這個一小段時間)。
下面就讓我們一起擴展一個Layui模塊吧:
第一步:確認模塊名,假設爲:mymod,然後新建一個index.js 文件放入項目任意目錄下(注意:不一定放入layui目錄,可以自己定義路徑)。
第二步:編寫index.js 如下:

layui.define(function(exports){ //提示:模塊也可以依賴其它模塊,如:layui.define('layer', callback);
  var obj = {
    hello: function(str){
    //如果str爲空的話,彈出“Hello index”
      alert('Hello '+ (str||'index'));
    }
  };
  
  //輸出接口
  exports('mymod', obj);
});    

第三步:設定擴展模塊所在的目錄,然後就可以在別的JS文件中使用了,例如:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  <title>開始使用layui</title>
  <link rel="stylesheet" href="F:/layui/layui-v2.5.5/layui/css/layui.css">
</head>
<body>
<script src="F:/layui/layui-v2.5.5/layui/layui.js"></script>
<script>
//config的設置是全局的
layui.config({
  base: 'F:/layui/myTest/' //假設這是你存放拓展模塊的根目錄
}).extend({ 
  mymod: 'index' //mymod表示index文件中定義的模塊名字,index表示的是模塊文件,不需要js後綴
});

//使用拓展模塊
layui.use(['mymod'], function(){
  var mymod = layui.mymod;
  mymod.hello('World!'); //彈出 Hello World!
});
</script> 
</body>
</html>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章