当前位置: 移动技术网 > IT编程>开发语言>JavaScript > Layui学习笔记(一)—— 关于模块的扩展

Layui学习笔记(一)—— 关于模块的扩展

2019年11月05日  | 移动技术网IT编程  | 我要评论

 在使用layui的时候,总有官方自带模块不够用想自己扩展的时候,这时候我们就需要扩展模块了。

模块扩展有两种:

  (一)普通地扩展

layui.define( function (exports) {

});

  (二)依赖其他模块扩展

layui.define( [ 'xxx', 'xxx', 'xxx' ], function (exports) {  
      // xxx代表其他模块的名称,例如 'jquery', 'layer'
});    

 

当我们想定义模块中的方法时,可以使用以下代码:

var object = {
     f1 : function (obj) {    //方法1
         ...
     }
     , f2 : function (obj) {    //方法2
         ...
     }
};

在结束的时候需要加上:

//exports('key', value); 
//key是该扩展模块的名字,模块名必须和layui.use时的模块名一致
//通过layui.key来获取该模块,例:var func = layui.key;
//value须与该模块内定义的对象名一致,此处为object
exports('key', object);  //输出接口

做完以上步骤后就可以在别的js文件中使用了,

 

使用时输入以下代码:

layui.config({
    base: '...'    //设置模块的根目录
}).extend({
    key : 'xx'    //当扩展的模块xx.js存放于base设置的根目录,也可以不用设置别名
    //key: '../../..'    //当扩展模块xx.js存放于根目录下的子目录中时这样写
});

layui.use('key', function() {
    var key  = layui.key;    

    ...    //方法内容
});

即可使用扩展模块中的方法了

 

 

扩展模块xx.js的完整代码

/**
 * layui的扩展模块xx.js
 */

layui.define(function (exports) {
       var object = {
            f1: function (obj) {
                ...
            }
            , f2: function (obj) {
                ...
            }
        };
    exports('key', object);
});

 

 

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网