className:类名,有省略写法
superClass:继承的父类,一般为null
properties:对象(js中的prototype(原型对象),用于创建类时的继承)
// 常用写法,省略类名
var myclass=declare(null,{
// 可以定义属性,
// 可以定义方法,
// 可以定义constructor:
});
// 不常用写法
declare("myclass",null,{
// 同上
});
declare使用详解:https://blog.csdn.net/cexo425/article/details/19119737
clone(对象):克隆任何对象或者元素节点,返回:一个新的对象。
hitch(新的对象,执行函数):会在给定的上下文中执行给定一个执行函数。类似于JS的apply/call/bind改变this指向。
// 像下文这种异步回调函数的应用场景,当代码正在执行时,上下文会发生变化。执行上下文环境已经不再是最初提供的对象,而指向了外部对象(on的回调函数),为了解决这个问题,你可以使用hitch()去强制processEvent在此时“this”指向的上下文来执行。
require(["dojo/on", "dojo/_base/lang"], function(on, lang){
var processEvent = function(e){
this.something = "else";
};
on(something, "click", lang.hitch(this, processEvent));
});
dojo/_base/lang其他函数方法参考:https://blog.csdn.net/weixin_33725272/article/details/86043646
dojo/_base/lang --hitch()函数详解:https://blog.csdn.net/long_chuanren/article/details/83896948
require(["dojo/_base/array"],function(arrayUtil){
var arr= ['apple','orange','banana'];
arrayUtil.forEach(arr,function(item,index){
console.info("item:"+item+";index:"+index)
});
});
dojo/_base/array数组方法使用参考:https://blog.csdn.net/wenjinglala/article/details/52837322
dojo.byId:等效于document.getElementById
// dojo.byId已弃用,可用dojo/dom代替
require ([ "dojo/dom" ], function ( dom ){
// 通过 id="someNode" 获取节点
var node = dom . byId ( "someNode" );
});
dojo/_base/html使用参考:https://dojotoolkit.org/reference-guide/1.10/dojo/_base/html.html
require(['dojo/Deferred'],function(Deferred){
var deferred = new Deferred();
deferred.then(
function(result){
console.log("success"+result+'\t'+Date());
console.log("isResolved="+deferred.isResolved());
console.log("isFulfilled="+deferred.isFulfilled());
},
function(err){
console.log("error"+err+'\t'+Date());
},
function(progress){
console.log("progress"+progress+'\t'+Date());
}
)
setTimeout(function(){deferred.progress(1);},1000);
setTimeout(function(){deferred.progress(2);},2000);
setTimeout(function(){deferred.progress(3);},3000);
setTimeout(function(){deferred.resolve("ok");},3001);
//等待异步操作回调函数执行过程中下面的代码会同时执行
console.log("isResolved="+deferred.isResolved());
console.log("isFulfilled="+deferred.isFulfilled());
})
dojo/Deferred使用参考:https://blog.csdn.net/shiyangxu/article/details/81904551
dojo/Deferred类和dojo/promise类的使用:
https://blog.csdn.net/weixin_30685029/article/details/97435123
topic.subscribe:
用于订阅消息,接收两个参数,第一参数为要订阅的消息名字(唯一标识),如"socket/msg_arrive",第二参数为回调函数。
topic.publish:
用于发布消息,接收任意多个参数,第一参数为要发布的信息名字(唯一标识),如"socket/msg_arrive",其他参数为传递给订阅回调函数的参数。
require(["dojo/topic", "dojo/dom", "dojo/on", "dojo/domReady!"],
function(topic, dom, on){
var handle = topic.subscribe("some/topic", function(e){
dom.byId("output").innerHTML = "I received: " + e.msg;
handle.remove();
});
on(dom.byId("publish"), "click", function(){
topic.publish("some/topic", { msg: "hello world" });
});
});
dojo/topic使用参考:https://blog.csdn.net/notejs/article/details/8745735
dojo/topic使用参考:https://blog.csdn.net/idomyway/article/details/84945377
require([ "dojo/dom" , "dojo/domReady!" ], function (dom) {
function setText(node, text){
node = dom.byId(node);//通过已有对象
node.innerHTML = text;
}
var one = dom.byId( "one" );//通过字符串
setText(one, "One has been set" );
setText( "two" , "Two has been set as well" );
});
dojo/dom使用参考:https://blog.csdn.net/shiyangxu/article/details/81433223
require(["dojo/on", "dojo/dom","dojo/domReady!"],
function(on, dom) {
//获得dom元素
var btn= dom.byId("btn")
//给DOM元素绑定事件
on(btn, "click", function(evt){
alert("按钮被点击了");
});
})
dojo/on使用参考:https://blog.csdn.net/LoveCarpenter/article/details/54728455
// 参考链接的内容
dojo/aspect使用参考:https://blog.csdn.net/notejs/article/details/8745685
// 参考链接
dojo/query介绍及使用参考:https://blog.csdn.net/dragonzoebai/article/details/8548209
dojo使用query dojo/query参考:https://blog.csdn.net/qq_36330643/article/details/72356823
domConstruct.toDom():用来将html标签字符串转化成DOM节点。
domConstruct.place():将现有节点放置在 HTML 文档中的某个位置
domConstruct.create():创建DOM节点
domConstruct.empty():清空 DOM 元素的内容。删除所有子节点,但将节点保留在那里。
domConstruct.destroy():删除所有子节点和节点本身
// 参考链接
dojo/dom-construct使用参考:https://dojotoolkit.org/reference-guide/1.10/dojo/dom-construct.html
参考链接:https://blog.csdn.net/weixin_30588827/article/details/96963208
dojo/_base/event使用参考:https://dojotoolkit.org/reference-guide/1.10/dojo/_base/event.html
dojo/request/xhr:get()、post()、put()、del()等常规请求
dojo/request/script:可以向服务器发送跨域请求。script.get( url, option )
// 参考链接
dojo/request官方使用参考:https://dojotoolkit.org/reference-guide/1.10/dojo/request.html
dojo/_base/fx官方使用参考:https://dojotoolkit.org/reference-guide/1.10/dojo/_base/fx.html
dojo/_base/fx 和 dojo/fx:https://blog.csdn.net/weixin_34392906/article/details/86043403