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 回撥函式 |