layui-常见问题
Posted 小刘编码员
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了layui-常见问题相关的知识,希望对你有一定的参考价值。
本篇将主要讲解使用过程中普遍遇到的“问题”,这些问题并非是BUG,通常是需要我们自己去注意的一些点。(会结合用户反馈持续补充)
应该如何加载模块最科学?
事实上我们在模块规范已经有明确地说明,你可以采用预先加载和按需加载两种模式,但后者我们并不推荐(文档也解释原因了)。因此我们强烈推荐的方式是:你应该在你js文件的代码最外层,就把需要用到的模块 layui.use以 一下,如:
javascriptlayui.code
- /**
- 你的js文件
- **/
- //我们强烈推荐你在代码最外层把需要用到的模块先加载
- layui.use(['layer', 'form', 'element'], function()
- var layer = layui.layer
- ,form = layui.form
- ,element = layui.element
- //……
- //你的代码都应该写在这里面
- );
如何使用内部jQuery?
由于Layui部分内置模块依赖jQuery,所以我们将jQuery1.11最稳定的一个版本作为一个内置的DOM模块(唯一的一个第三方模块)。只有你所使用的模块有依赖到它,它才会加载,并且如果你的页面已经script引入了jquery,它并不会重复加载。内置的jquery模块去除了全局的$和jQuery,是一个符合layui规范的标准模块。所以你必须通过以下方式得到:
JavaScriptlayui.code
- //主动加载jquery模块
- layui.use(['jquery', 'layer'], function()
- var $ = layui.$ //重点处
- ,layer = layui.layer;
- //后面就跟你平时使用jQuery一样
- $('body').append('hello jquery');
- );
- //如果内置的模块本身是依赖jquery,你无需去use jquery,所以上面的写法其实可以是:
- layui.use('layer', function()
- var $ = layui.$ //由于layer弹层依赖jQuery,所以可以直接得到
- ,layer = layui.layer;
- //……
- );
为什么表单不显示?
当你使用表单时,Layui会对select、checkbox、radio等原始元素隐藏,从而进行美化修饰处理。但这需要依赖于form组件,所以你必须加载 form,并且执行一个实例。值得注意的是:导航的Hover效果、Tab选项卡等同理(它们需依赖 element 模块)
JavaScriptlayui.code
- layui.use('form', function()
- var form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
- //……
- //但是,如果你的html是动态生成的,自动渲染就会失效
- //因此你需要在相应的地方,执行下述方法来手动渲染,跟这类似的还有 element.init();
- form.render();
- );
哪里有 layui 未压缩源代码?
我们的全部代码托管在GitHub(你可以通过首页的Star进入)和码云。之所以在下载包里没有提供未压缩的源代码,是为了避免一些猿的使用混淆,因为之前有遇到过部分可爱到极致的猿,居然同时引入了压缩过和未压缩过的layui.js,虽然文档在“开始使用”中有相关的明确说明,但这种问题仍然不是个例,使得我欲哭无泪啊啊啊,但毕竟我们要做“中国最容易使用的UI框架”,因此才决定只对下载包提供我们构建后的代码,并且,由于是经过了压缩、合并等处理,所以更适合用于生产环境。
layui的 GitHub 地址(点击下述 Star 进入)
还是遇到困难咋办?
可以继续看看这个:layui 常见问题的处理和实用干货集锦
但我还是不会用怎么办?我还是遇到困难怎么办?
首先,多看文档啊亲!那可是作者一个字节一个字节撸出来的,求珍惜。你抽出一定时间仔细阅读文档,后面只会节省更多时间!
其次,实在无解,就请在社区反馈吧。你也可以自己组织QQ群,在社区神马的地方拉一些 layui 的小伙伴,相互交流噢!
layui - 用心与你沟通
以上是关于layui-常见问题的主要内容,如果未能解决你的问题,请参考以下文章