在了解完easyui的parser(解析器)之后,接下来就是easyloader(简单载入器)的学习了。

什么是EasyLoader

正如其名字一样easyloader的作用是为了动态的载入组件所需的js文件,这体现了EasyUI作为轻量级框架对性能的合理掌握(能够动态的载入所需组件),只是一般而言非常少使用到easyloader(会给使用者带来一定的难度)。那么使用EasyLoader的场景有哪些呢?

EasyLoader使用场景

  • 出于性能的考虑,不一次性的载入easyui核心js、css文件,而是先展示基础文档结构。
  • 项目仅仅是简单的用到easyui的几个组件,此时能够按需载入该组件的js和css文件。
  • 你须要使用某个组件,可是不知道该组件是否依赖于其它组件(简单的js引用无法达到),使用easyloader能够自己主动载入依赖组件。
  • 你须要把JQuery基础库和自己实现的js结合起来,以达到更好的展示性能。

EasyLoader载入器

简单的了解了什么是easyloader以及其大概的使用场景,接下来看看easyloader的属性、事件和方法。

properties

easyloader有7个属性,详细例如以下表格:

属性名 值类型 描写叙述         默认值
modules object 提前定义模块             无    
locales object 提前定义的语言环境(国际化支持)             无
base string easyui的基础文件夹,必须以"/"结束,当前文件夹但是设置为"./" 依据easyloader.j位置设置
theme string 主题名称,theme文件夹下有多个可供选择的主题,也可自己扩展           default
css boolean 定义载入模块的时候是否载入css样式文件            true
locale string 语言环境名称             null
timeout number 超时时间,单位毫秒            2000

Event

载入器包括两个事件,详细例如以下:

         方法名                參数                   描写叙述信息
     onProgress
               name 一个模块载入成功
     onLoad                name 模块和依赖他的模块载入成功

Method

加载器仅仅有一个方法:load,其參数为module,callback(回调函数),加载特定的模块,当加载的成功的时候调用该回调函数有效的模块參数能够使一个单一的模块名称、存储模块名称的数组、css样式文件、js脚本文件。

EasyLoader使用

接下来我们着眼于easyloader怎样使用,通过上面属性表中的modules,不难猜到这个属性就是easyui定义模块用的。modules本质上来说是一个json格式对象。其形式例如以下:

modules = {
draggable:{
js : "jquery.draggable.js",
css : "pagination.css",
dependencies : ["linkbutton"]
}
};

key值即是定义的模块名称,值又是一个json对象,包括三个属性js、css、dependencies。js就是模块须要导入的js名称,css是该模块的样式,dependencies定义该模块的依赖模块。

上面定义了一个模块,接下来谈谈该怎样加入�我们自己定义的模块,而且通过easyloader进行载入。

第一步:我们先要打开easyloader.js文件,详细例如以下图:

阅读代码(压缩过)我们能够简单的看出来easyui载入的时候究竟载入了哪些模块,“_1”是easyui已经定义好的模块.以及各个模块之间的依赖关系。这样,我们通过改动easyloader.js的代码就能够有选择性的载入所需的模块,提高easyui的性能(普通情况下不建议)。

那么我们怎样简单的定义下自己的模块呢? 我们须要改造一下easyload.js,我们将easyloader.js代码中的全部_1变量替换为easyloader.modules,只是最后一个"modules:_1"的引用不要改动。

第二步,在easyui原有的模块基础上,我们扩展它,添�自己的模块。

easyloader.modules = $.extend({},{
"test":{
js:'test.js' css:'test.css' }
},easyloader.modules);

上面的代码在原有easyloader.modules的基础上在添加�了一个test模块而且定义了模块的js和css。这样我们添加�的第一个自己定义模块就加入�完毕了。使用的方式和easyloader载入其它模块一样。

Tips:我们自定义的js和css文件必须是绝对路径。

easyloader.load('mymodule', function(){
//do something
});

EasyUI基础入门之Easyloader(载入器)的更多相关文章

  1. EasyUI基础入门之Parser(解析器)

    前言 JQuery EasyUI提供的组件包含功能强大的DataGrid,TreeGrid.面板.下拉组合等.用户能够组合使用这些组件,也能够单独使用当中一个.(使用的形式是以插件的方式提供的) Ea ...

  2. EasyUI基础入门之Resiable(可缩放)

    easyui的base插件学习已经进行到Resizable(可缩放)了.照旧看看easyui官网的API. Resiable 正如其字面意思一样(可伸缩),resiable主要是将一些html元素扩展 ...

  3. easyUI基础入门

    头部需要引人文件:<!DOCTYPE html><html><head> <meta charset="utf-8"> <ti ...

  4. EasyUI基础入门之Droppable(可投掷)

    怎么说呢Droppable这个单词究竟是什么意思,准确来说easyui作者究竟要表达什么意思,还是不大好拿捏的.只是没关系,没有必要纠结与这些细枝末节的东西,依据官网的demo效果,就简单的将之定义为 ...

  5. EasyUI基础入门之Pagination(分页)

    前言 对于一些企业级的应用来说(非站点),页面上最为基本的内容也就是表格和form了.对于类似于ERP这类系统来说数据记录比較大,前端表格展示的时候必需得实现分页功能了.恰巧EasyUI就提供了分页组 ...

  6. (一)jQuery EasyUI 的EasyLoader载入原理

    1.第一次看了官网的demo.引用的是EasyLoader.js文件,而不是引用jquery.easyui.min.js文件,我就有疑问了,百度一下. jQuery EasyUI是一款基于JQuery ...

  7. ECMAScript 6.0基础入门教程

    ECMAScript 6.0基础入门教程 转:https://blog.csdn.net/hexinyu_1022/article/details/80778727 https://blog.csdn ...

  8. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  9. 从零3D基础入门XNA 4.0(2)——模型和BasicEffect

    [题外话] 上一篇文章介绍了3D开发基础与XNA开发程序的整体结构,以及使用Model类的Draw方法将模型绘制到屏幕上.本文接着上一篇文章继续,介绍XNA中模型的结构.BasicEffect的使用以 ...

随机推荐

  1. [原]Unity3D深入浅出 - 天空盒(Skyboxes)

    Unity3D中自带了9中天空盒,在Assets - Import Package - Skyboxes 即可导入天空盒资源. 为Scene添加Skybox:在Edit菜单项里的Render Sett ...

  2. bzoj1079: [SCOI2008]着色方案

    ci<=5直接想到的就是5维dp了...dp方程YY起来很好玩...写成记忆化搜索比较容易 #include<cstdio> #include<cstring> #inc ...

  3. [swustoj 183] 种树

    种树(0183) 问题描述 Aconly有一块矩形的地,因为这块地里有很多石头,耕作很不方便,所以他打算在这块地上种一些果树.这块地用一个只含‘#’和‘*’的N*M的矩阵来表示,‘#’表示泥土,‘*’ ...

  4. ExecutorService与Executors例子的简单剖析

    对于多线程有了一点了解之后,那么来看看java.lang.concurrent包下面的一些东西.在此之前,我们运行一个线程都是显式调用了Thread的start()方法.我们用concurrent下面 ...

  5. Linux kernel Makefile for ctags

    /********************************************************************** * Linux kernel Makefile for ...

  6. 关于设置sqlplus提示符样式的方法

    摘要:大家在日常工作中,我想99%都会用到sqlplus工具来登陆你的数据库,对数据库进行管理.调优.配置.运维.那么如果有n多台数据库的时候,我们在连接后全部是统一的SQL>提示符,就有可能发 ...

  7. u-boot 环境变量参数设置

    今天本来是烧写内核,结果一不小心把uboot也整不能用了,无奈之下只好重新烧个uboot,等都弄好以后,发现系统还是启动不了,原来是启动参数设置不对,于是找到了这篇文章,//是我添加的内容. 原文地址 ...

  8. Cgroups概述

    1. Cgroups是什么? 从 2.6.24 版本开始,linux 内核提供了一个叫做 Cgroups的特性.Cgroups是control groups的缩写,是一种可以限制.记录.隔离进程组(p ...

  9. 软件测试模型汇总-V模型,W模型,X模型,H模型

    V模型 在软件测试方面,V模型是最广为人知的模型,尽管很多富有实际经验的测试人员还是不太熟悉V模型,或者其它的模型.V模型已存在了很长时间,和瀑布开发模型有着一些共同的特性,由此也和瀑布模型一样地受到 ...

  10. linu、C语言、计算机基础教程

    Linux操作系统入门教程:http://see.xidian.edu.cn/cpp/linux/ 鸟哥的linux私房菜:http://vbird.dic.ksu.edu.tw/ 计算机操作系统教程 ...