在使用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); });