Layui自定義模塊的使用方式


為什么要自定義模塊呢?好處很多、比如可以大量重用代碼......

根據layui官方的文檔說明、首先第一步是要確定你要擴展的模塊名稱

現在做的是登錄功能、因此擴展模塊名叫  login

使用layui.define()方法來擴展模塊、當然模塊中你也可以使用layui的其他方法、如下

layui.define('layer', callback);

在定義擴展模塊的時候、我需要使用layui的layer模塊、然后在回調函數中定義自己的方法

layui.define(["layer","jquery"],function (exports) {
   var obj = {
       login : function (url,data,$,targetUrl) {
           $.post(url,{code:data.code},function (res) {
             if (res.code&&res.code==400){
                 layer.msg(res.msg,{icon:1},function () {
                     window.location.href = targetUrl;
                 });
             }else{
                 layer.msg(res.msg,{icon:1},function () {
                     window.location.href = targetUrl;
                 });
             }
           });
       }
   }
   exports("login",obj);
});

 上述代碼中定義了一個login模塊、以便在我登錄的時候、不需要寫過度的代碼即可實現登錄、讓頁面看起來更簡潔

那么模塊定義完了、怎么使用呢?

我們遵循 layui 的模塊規范建立一個入口文件,並通過 layui.use() 方式來加載該入口文件,最終使用

<script type="text/javascript">
    layui.config({
        base: '/static/admin/js/module/'//存放新模塊的目錄,注意,不是layui的模塊目錄
    }).use(['jquery','element','form','login'],function () {
        var $ = layui.jquery,
            form = layui.form,
            element = layui.element,
            login = layui.login;
        form.on("submit(subBtn)",function (data) {
            //獲取表單的值
            var field = data.field;
       // url部分是使用TP的方法生成的、這里不用過多的研究 login.login("{:url('Login/doLogin')}",field,$,"{:url('Index/index')}"); return false; }); }); </script>

 

在登錄的時候、直接將參數傳遞過去即可。展示的效果如下

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM