layui相关用法
layui.define([mods], function() {
export('mod', api);
});
layui.use(['layer', 'form'], function() {
var layer = layui.layer;
var form = layui.form;
layer.msg('hello world!');
});
推荐相关用法
layui.config({
base: '/res/js/mymoudels/'
}).use('index');
layui.define(['layui', 'form'], function(exports) {
var layer = layui.layer;
var form = layui.form;
layer.msg('Hello World!');
exports('index', {});
});
底层方法
全局配置
layui.config({
dir: '/res/layui/'
,version: false
,debug:false
,base: ''
});
模块的定义和导出
- 方法:layui.define([mods], callback);
- mods 是可选的,用于声明该模块所需要依赖的模块,
layui.define(function() {
exports('demo', function() {
alter('对外暴露完毕!');
});
});
layui.degine(['layer', 'laypage'], function() {
exports('demo', function() {
alter('对外暴露完毕!');
});
});
使用所需要的模块
- 方法:layui.use([mods], callback)
- layui 的内置模块也不是默认就加载的,执行该方法后才会执行
layui.use(['laypage', 'layedit'], function() {
var laypage = layui.laypage;
var laydit = layui.laydit;
});
layui.use(['laypage', 'layedit'], function() {
laypage();
layedit.build();
});
动态加载CSS
- 方法:layui.link(href)
- href 为css的路径,该方法并非是使用layui必须的,它一般只是用于动态加载外部的css文件
本地存储
- 本地存储是对localStorage 和 sessionStorage 的友好封装,可方便地管理本地数据
localStorage 持久化存储:layui.data(table, settings) // 数据会永久存在,除非物理删除
sessionStorage 会话性存储: layui.sessionData(table, settings) // 页面关闭后失效
- 上述两个方法的使用方式是相同的,其中table为表名,settings是一个对象,settings是一个对象,用于设置key, value,下面以layui.data方法为例
layui.data('test', {
kdy: 'nickname',
value: 'jijijijideideidei'
});
layui.data('test', {
key: 'nickname',
remove: true
});
var localTest = layui.data('test');
console.log(localTest.nickname);
获取设备信息
- 方法:layui.device(key), 参数key 是可选的
- 由于layui 的一些功能进行了兼容性的处理和响应式支持,所以获取设备信息很重要
var device = layui.device();
{
os: "windows",
ie: false,
weixin: false,
android: false,
ios: false
}
其他方法
| layui.cache |
静态属性。获得一些配置及临时的缓存信息 |
| layui.extend(options) |
拓展一个模块别名,如:layui.extend({test: '/res/js/test'}) |
| layui.each(obj, fn) |
对象(Array、Object、DOM对象等)遍历,可用于取代for语句 |
| layui.getStyle(node, name) |
获得一个原始DOM节点的style属性值,如:layui.getStyle(document.body, 'font-size') |
| layui.img(url, callback, error) |
图片预加载 |
| layui.sort(obj, key, desc) |
将数组中的对象按某个成员重新对该数组排序,如:layui.sort([{a: 3},{a: 1},{a: 5}], 'a') |
| layui.router() |
获得location.hash路由,目前在Layui中没发挥作用。对做单页应用会派上用场。 |
| layui.hint() |
向控制台打印一些异常信息,目前只返回了error方法:layui.hint().error('出错啦') |
| layui.stope(e) |
阻止事件冒泡 |
| layui.onevent(modName, events, callback) |
自定义模块事件,属于比较高级的应用。有兴趣的同学可以阅读layui.js源码以及form模块 |
| layui.event(modName, events, params) |
执行自定义模块事件,搭配onevent使用 |
| layui.factory(modName) |
用于获取模块对应的 define 回调函数 |