Dojo的declare接口】的更多相关文章

declare(classname,[],{}) declare的第一个参数是可选的,代表类的名称 declare的第二个参数代表类的继承关系,比如继承哪一个父类,可以看到:第二个参数是一个数组,所以dojo可以多继承 第三个参数是一个对象,代表类的主体. 例如: var Person=declare("namespace.Person", null, { name:null, age:null, constructor: function(name,age){ this.name=n…
欢迎转载opendevkit文章, 文章原始地址: http://www.opendevkit.com/?e=57 declare接口是dojo定义类系统的关键函数, 类系统就是抽象,封装,继承.dojo用javascript的prototype实现继承, 用mixin实现派生, javascript一切都是函数, 这本身就是高度抽象.巧妙的地方在于: 对于一个类, 有构造函数和类名字, 实际上构造函数是用户自定义的函数, 类名字也是用户自定的, 怎么实现用户使用new操作符的时候, 构造整个对…
这里要讲有关类的定义.继承和实现.官方教程:http://dojotoolkit.org/documentation/tutorials/1.7/declare/类的声明是通过declare 这个方法来实现的.define(['dojo/_base/declare'],function(declare){//第一个declare,声明类my.A  declare('my.A',null,{        pp1 : 1,        pp2 : 'b',        dd : functio…
http://blog.csdn.net/lovecarpenter/article/details/53979717 第三种用法用的最多. 此接口用于定义模块: define([],function(){}); 定义模块的形式: 1.如果只有键值对,没有任何的依赖项: define({ color: "black", size: "unisize" }); 2.如果模块没有任何依赖,但是需要一个做准备活动的函数 define(function () { //在这里…
ArcGIS API for JavaScript是基于dojo开发的一套API,在实际生产中,我们需要再根据自己的需求实现自定义的功能,最后抽象成接口给前端调用. 我们使用dojo的declare来实现. declare有很多种写法,如果你要定义一个自己的模块时,可使用define.define() 函数提供了返回值并延迟加载依赖项的可能性,所以此命令适用于定义模块.创建模块时,将返回一个对象. 这也意味着  require() 函数的主要用途是导入模块,而该  define() 函数用于定义…
原文地址:http://www.infoq.com/cn/articles/wq-dojo-data-store 无论在传统的桌面应用还是在主流的互联网应用中,数据始终占据着软件应用中的核心地位.当下,web2.0已经是一个让人们耳熟能详的词汇,而由此 带来的数据的开放与共享,引领我们走入了海量数据时代.在今天的互联网上,数据的交互几乎成为了我们的终极诉求,可随之而来的数据多样性,信息的分布式存 储及松耦合,以及数据量的几何级规模的膨胀也带来了数据组织上的难度的增大,与此同时,伴随着Ajax,…
在原生的js中是不可以创建类的,没有class这个关键字,但是在dojo中,dojo自定义了一个模块叫做dojo/_base/declare,用这个模块我们可以创建自己的类,实现面向对象编程. 单继承例子: define(["dojo/_base/declare"],function(declare){ return declare("namespace.Person",null,{ name:null, age:null, constructor: functio…
dojo的类机制支持类声明.继承.调用父类方法等功能.dojo在底层实现上是通过操作原型链来实现其类机制的,而在实现继承时采用类式继承的方式.值得一提的是,dojo的类机制允许进行多重继承(注意,只有父类列表中的第一个作为真正的父类,其它的都是将其属性以mixin的方法加入到子类的原型链中),为解决多重继承时类方法的顺序问题,dojo用JavaScript实现了Python和其它多继承语言所支持的C3父类线性化算法,以实现线性的继承关系,想了解更多该算法的知识,可参考这里,我们在后面的分析中将会…
AMD原理等在这里就不进行说明了,作者也是菜鸟一枚,只是对自己的一个实例进行说明,如有错误,望指出. 首先,先推荐一篇AMD方面的文章,有兴趣的可以参考:http://efe.baidu.com/blog/dissecting-amd-what/ 接下来便是我自己的实例了: 1.模块化编程,则需要先有个模块了,而模块便是由HTML与js结合成的,在widget目录下,定义一个待编辑模块目录: HTML内容如下: <div id="mapType-wrapper" class=&q…
因为工作刚接触到dojo框架,网上找各种资料,发现很少很少(大多是以前的),只能看官网学习了,英文不行,一边翻译一边学习,还能学点单词...呵呵 我在Apache下运行Dojo demo,初学,希望有理解不对的地方指点指点... 一.先总的来认识一下dojo的工具包: ①dojo dojo框架的核心包.dojo里普遍实用的软件包.模块都在里面,如:Ajax.DOM操作.类编程.事件.异步Promises.数据存储.拖放以及本地化与国际化等... ②dijit 小部件框架和内建的小部件集. ③do…