Dojo框架学习笔记<一>
因为工作刚接触到dojo框架,网上找各种资料,发现很少很少(大多是以前的),只能看官网学习了,英文不行,一边翻译一边学习,还能学点单词...呵呵
我在Apache下运行Dojo demo,初学,希望有理解不对的地方指点指点...
一、先总的来认识一下dojo的工具包:
①dojo
dojo框架的核心包。dojo里普遍实用的软件包、模块都在里面,如:Ajax、DOM操作、类编程、事件、异步Promises、数据存储、拖放以及本地化与国际化等...
②dijit
小部件框架和内建的小部件集。
③dojox
它是建立在dojo和dijit之上,有些模块在实验阶段,有些已经很成熟。
④util
支持其他的工具包,能够编译测试和文档代码。
⑤dgrid
轻量级表格控件
⑥gridx
以快速渲染、模块化、插件为基础的控件,数据结构与算法、数据处理与通信、实用工具、图形 API 以及 Web UI 等。
二、AMD(异步模块加载机制)
模块:是一个可以被单个参考访问的值,如果有多个数据或者功能要在一个模块中,那么他们必须是指向模块的一个单个对象的属性,一个模块通常是一个单一的JavaScript文件。
模块的加载机制:通过两个全局函数require/define加载模块
require({提供的对象}[模块依赖列表(字符串数组)],fun(callback)),参数都是可选的;
require(["my/app","dojo"],function(app,dojo){
.....
//只是加载了模块,没有返回自己的值
});
define("模块名",[模块依赖列表(字符串数组)],fun(模块的值是函数的返回值)/value),前两参数可选;
define("my/mapper/api",[
"dojo/_base/declare",
...,
"dojo/domReady!"],function(declare,...,ready){
return ....
//加载了模块,也提供了值
});
AMD:Asynchronous Module Definition(异步模块加载机制),模块的定义,依赖关系,引用关系以及加载机制。
三、dojoConfig:
dojoConfig是配置dojo的主要机制,它被模块加载器引用着,也是Dojo组件的全局选项,如果需要,也可以进一步被自定义程序配置点使用。
dojoConfig = {
has:{
"dojo-firebug": true
},
parseOnLoad: false,
foo: "bar",
async: true
};
has:通过包含一个对象特性的散列值做为has的特性,这个特性设置是为了决定Dojo支持的某一能力。dojo-firebug:调试配置;
parseOnLoad:是否在页面加载完成以后执行解析功能(dojo/parser);
async:是否异步。
baseUrl: 当转化一个模块标识符为地址或者URL时,baseUrl将添加给它。
packages: 一个对象数组,它提供了包的名字和位置。
aliases: 允许你设置模块的别名。
paths: 允许自定义路径。
packagePaths: 速记符号,可以用来指定多个相同根目录的包配置。
deps: 一个应该在Dojo载入完成后立即载入的资源路径数组。
callback: 一个在deps被取出后执行的回调函数。
waitSeconds: 等待加载模块超时时间,默认为0(永远等待)。
cacheBust:如果为true,添加时间值到每个模块URL中作为querystring避免模块缓存。
Dijit,DojoX,它们的模块标志和行为是可以被设置的,同样也可以在你自己的应用程序和模块中使用
Dojo框架学习笔记<一>的更多相关文章
- Dojo框架学习笔记<二>
一.dojo/dom 该模块定义了Dojo Dom API,主要有以下几种用法: 1.dom.byId();(相当于document.getElementById()) ①最直接的用 ...
- 集合框架学习笔记<二>
1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和ILis ...
- semantic ui框架学习笔记二
评论组件 文档里的评论组件介绍的比较清晰.这里我就挑一个我喜欢的格式展示出来: <div class="ui comments"> <h3 class=" ...
- unittest框架学习笔记二之discover
coding=utf-8'''Created on 2018/3/29 author:star Project:discover测试用例''' import unittest,time,oslist= ...
- Yii框架学习笔记(二)将html前端模板整合到框架中
选择Yii 2.0版本框架的7个理由 http://blog.chedushi.com/archives/8988 刚接触Yii谈一下对Yii框架的看法和感受 http://bbs.csdn.net/ ...
- phalcon(费尔康)框架学习笔记
phalcon(费尔康)框架学习笔记 http://www.qixing318.com/article/phalcon-framework-to-study-notes.html 目录结构 pha ...
- [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计
源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...
- JavaSE中Map框架学习笔记
前言:最近几天都在生病,退烧之后身体虚弱.头疼.在床上躺了几天,什么事情都干不了.接下来这段时间,要好好加快进度才好. 前面用了三篇文章的篇幅学习了Collection框架的相关内容,而Map框架相对 ...
- JavaSE中线程与并行API框架学习笔记1——线程是什么?
前言:虽然工作了三年,但是几乎没有使用到多线程之类的内容.这其实是工作与学习的矛盾.我们在公司上班,很多时候都只是在处理业务代码,很少接触底层技术. 可是你不可能一辈子都写业务代码,而且跳槽之后新单位 ...
随机推荐
- easyui datagrid 没数据时显示滚动条的解决方法
今天解决了一个bug,因为datagrid有多列,可是当没有数据的时候,后面的列无法通过滚动条拉动来显示,比较麻烦,而需求要求没有数据也要拉动滚动条查看后面有什么列,一开始在网上找了一些资料,发现都不 ...
- visual c++ 2010安装失败导致CRM2015安装失败
记录一下: 今天重新安装CRM2015时碰到以下错误: 安装一个或多个缺少的必备组件失败...,查看日志发现是 Microsoft Visual C++ 运行时 的安装失败,但查看系统发现vc++20 ...
- jquery实现幻灯片
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- loadrunner --global schedule设置
- Android_Activity生命周期
通过前面一段时间的学习,我们很清楚我们的一系列操作都离不开的一个东西,就是我们的activity .接下来我们对 Activity 进行系统的总结. Activity 的四种基本状态 1.运行态(Ru ...
- tomcat启动时 myeclipse控制台中文乱码
情况1: tomcat中conf目录下有个叫server.xml的文件,里面 <Connector port="8080" protocol="HTTP/1.1&q ...
- Thomas Brinkhoff 基于路网的移动对象生成器的使用
Thomas Brinkhoff 基于路网的移动对象生成器的使用 网站:http://iapg.jade-hs.de/personen/brinkhoff/generator/ 各个移动对象在路网中进 ...
- AWS Redshift summary
https://blogs.aws.amazon.com/bigdata/post/Tx31034QG0G3ED1/Top-10-Performance-Tuning-Techniques-for-A ...
- Javascript中DOM的练习
第一个题:html计时器 方法一: <body onLoad="show()" > <div id="b"></div> & ...
- python中的告警处理
在Python中,遇到异常时,一类是直接抛出异常,exception:另一类直接告警warning. 对于后者,通常是打印一句话.前者则或中断程序执行. 考虑到避免由于告警导致后续的不可预知的错误,可 ...