在使用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);
- });
复制代码
|