此文章适合入门的同学查看,之前因为项目的原因,在网上找了一套Layer UI做的后台管理系统模板,完全不懂LayUI里面的JS用法,看了官方文档和其它资料后才明白怎么去实现模块化这个例子,但是还是感觉网上的资料写得不够清晰,我尝试把自己的想法写出来,大家可以一起学习
1.首先从简单的入手
加载所需模块
方法:layui.use([mods], callback)
引用了Layui.js后
往js文件写入
layui.use(['layer'],function(){ [mods]加载的模块,现在加载的是弹出层 var layer = layui.layer; 弹出层模块 layer.msg('风继续吹') })
2.定义模块
方法:layui.define([mods], callback)
layui.define(['layer'], function(exports){ //do something exports('demo', function(){ alert('Hello World!'); }); });
3.全局配置
方法:layui.config(options)
layui.config({ base: 'js/' //你存放新模块的目录,注意,不是layui的模块目录 }).use('index'); //加载入口
来到这一步,也许你还不明白,但是看完以下这个例子,你就会清晰多了
1.新建一个js文件夹和一个index.html,再加上官方下载的layui文件
在js文件夹里面建立index.js(注意这个文件的名称)
目录现在是这样的
1
2.再进行全局配置
在index.html中写
layui.config({ base:'js/' //你存放新模块的目录,注意,不是layui的模块目录 }).use(['index','layer'],function(){ //加载入口 上述的 index 即为你 js/ 目录下的 index.js,看看官方的文件结构,如下图,index.js相当于就成为了新的文件模块(与下文提的模块不一样) var layer = layui.layer; layer.msg('leslie world'); })
2
不仅可以指定我们的index.js模块文件模块(),还可以引用内置的模块,比如laydate,layer等等
3.自定义模块
在index.js中
layui.define(['layer'],function(exports){ //引用layer模块 var layer = layui.layer; exports('index',function(){ //注意,这里是模块输出的核心,模块名必须和use时的模块名一致,这里的index就是在index.html use的模块 layer.msg('leslie cheung'); }) })
现在呢,我们已经定义了新的模块 index,怎么去运行该模块呢
4.最后使用热加载模块layui.use()
继续在index.js写
layui.use(['index'],function(){ layui.index() //调用index这个自定义模块 })
最后总结一下,通俗易懂点来讲,进行全局配置(layui.config):创建的这个index.js是我们业务所需要的文件模块,类似于layer,laydate那些结构的;
自定义模块:接着我们发现业务的需求,需要进一步在index.js去写自己的小模块,于是呢通过define自定义模块;
热加载模块:内置模块和自定义模块怎么使用,通过layui.use()去加载
好了,以上就是我个人的理解,如有错误,欢迎指出。希望能给大家一个参考,也希望大家多多支持小牛知识库。
本文向大家介绍Vuex 模块化使用详解,包括了Vuex 模块化使用详解的使用技巧和注意事项,需要的朋友参考一下 前言 上回我们说了一下 vuex 的简单使用,最后面的时候有说了,由于使用单一状态树,应用的所有状态会集中到一个比较大的对象。当应用变得非常复杂时,store 对象就有可能变得相当臃肿。 为了解决以上问题,Vuex 允许我们将 store 分割成模块(module)。每个模块拥有自己的
本文向大家介绍详解AngularJS 模块化,包括了详解AngularJS 模块化的使用技巧和注意事项,需要的朋友参考一下 学习要点: 控制器模块化 指令模块化 过滤器模块化 服务模块化 定义值模块化 使用模块工作 第一步:创建一个模块 在视图中应用模块 第二步:定义值 第三步:定义服务 第四步:定义控制器 将控制器应用于视图 第五步:定义指令 将指令应用于视图 第六步:定义过滤器 将过滤器应用于
本文向大家介绍详解python:time模块用法,包括了详解python:time模块用法的使用技巧和注意事项,需要的朋友参考一下 time模块下有两种时间表示方法: 第1种是:时间戳的方式。是基于1970年1月1日0时0分0秒的偏移。浮点数。 第2种是:struct_time()类型的表示方法。gmtime()和localtime()可以将时间戳显示为struct_time()类型。 第3种是:
本文向大家介绍详解Python3 pickle模块用法,包括了详解Python3 pickle模块用法的使用技巧和注意事项,需要的朋友参考一下 pickle(python3.x)和cPickle(python2.x的模块)相当于java的序列化和反序列化操作。 常采用下面的方式使用: 使用pickle模块你可以把Python对象直接保存到文件,而不需要把他们转化为字符串,也不用底层的文件访问操作把
本文向大家介绍详解Python中heapq模块的用法,包括了详解Python中heapq模块的用法的使用技巧和注意事项,需要的朋友参考一下 heapq 模块提供了堆算法。heapq是一种子节点和父节点排序的树形数据结构。这个模块提供heap[k] <= heap[2*k+1] and heap[k] <= heap[2*k+2]。为了比较不存在的元素被人为是无限大的。heap最小的元素总是[0]。
本文向大家介绍Javascript模块化编程详解,包括了Javascript模块化编程详解的使用技巧和注意事项,需要的朋友参考一下 模块化编程是一种非常常见Javascript编程模式。它一般来说可以使得代码更易于理解,但是有许多优秀的实践还没有广为人知。 基础 我们首先简单地概述一下,自从三年前Eric Miraglia(YUI的开发者)第一次发表博客描述模块化模式以来的一些模块化模式。如果你已