layui 的基本使用介绍

JavaScript018

layui 的基本使用介绍,第1张

方法:layui.define([mods], callback)

本地存储是对 localStorage 和 sessionStorage 的友好封装,可更方便地管理本地数据。

localStorage 持久化存储:layui.data(table, settings),数据会永久存在,除非物理删除。

sessionStorage 会话性存储:layui.sessionData(table, settings),页面关闭后即失效。注:layui 2.2.5 新增

layui.device(key)

方法/属性 描述

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 回调函数

模块命名空间

layui 的模块接口会绑定在 layui 对象下,内部由 layui.define() 方法来完成。每一个模块都会一个特有的名字,并且无法被占用。所以你无需担心模块的空间被污染,除非你主动 delete layui.{模块名}。调用模块可通过 layui.use 方法来实现,然后再通过 layui 对象获得模块接口。

如何使用内部jQuery

//主动加载jquery模块

layui.use(['jquery', 'layer'], function(){

var//重点处

,layer = layui.layer

//后面就跟你平时使用jQuery一样

$('body').append('hello jquery')

})

把.layui-laydate .layui-this中的background去掉,

添加样式

.layui-laydate .layui-this:before { content: " "position: absolutetop: 0left: 0right: 0bottom: 0border-radius: 8pxbackground: ##009688z-index: -1}

layui采用的是模块加载的方式使用模板引擎laytpl

layui.use('laytpl', function(){

    //do something

}

所以,是需要使用模块加载的方式使用。

但是!!! 模块化的东西一般没有依赖的都可以单独使用,比如这个laytpl。

我教你怎么改。。打开这个laytpl文件,文件默认是压缩的,可以使用HBuilder自带的代码整理,整理格式也可以通过网上的工具进行格式整理,也可以不整理格式,因为改的地方很少。

//以下是压缩情况下的

layui.define(function(e) {  //开头是这个,是定义模块的

o.v = "1.2.0", e("laytpl", o)}) // 结尾是这个

1、将layui.define(function(e) { 

改为 (function(e){

2、将 o.v = "1.2.0", e("laytpl", o)}) 改为 

o.v = "1.2.0", window.laytpl = o})(window)

// 通过看源码,发现传入的这个e实际是window对象。

// 其中是o就是你所需要的laytpl这个对象

// 然后我们将它改成一个自执行函数,创建一个私有的作用域,最后将o这个对象覆盖laytpl

// 就可以通过 laytpl 单独使用了。