dojo.mixin、dojo.extend、dojo.declare

前端之家收集整理的这篇文章主要介绍了dojo.mixin、dojo.extend、dojo.declare前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

dojo源码里,大量使用 dojo.mixin、dojo.extend、dojo.declare 三个方法。作用均为扩展dojo基类。@H_404_2@

一、dojo.mixin@H_404_2@@H_404_2@

dojo.mixin用于扩展一个实例对象,如@H_404_2@@H_404_2@

var obj = {a:1,b:2}@H_404_2@@H_404_2@

dojo.mixin(obj,{c:3,d:4})@H_404_2@@H_404_2@

那么现在的obj为{a:1,b:2,c:3,d:4}@H_404_2@@H_404_2@

二、dojo.extend@H_404_2@@H_404_2@

dojo.extend用于扩展一个类对象,在实际应用中我主要用来扩展dojo控件。如给dijit.Dialog扩展一个setTitle方法@H_404_2@@H_404_2@

dojo.extend(dijit.Dialog,{@H_404_2@@H_404_2@

setTitle:function(name){@H_404_2@@H_404_2@

this.set('title',name)@H_404_2@@H_404_2@

}@H_404_2@@H_404_2@

})@H_404_2@@H_404_2@

这样在创建Dialog对象后,就包含的 setTitle 的方法。@H_404_2@@H_404_2@

三、dojo.declare@H_404_2@@H_404_2@

dojo.declare在控件里被大量应用,原因是dojo.declare可以声明一个类,而不污染继承的类。可以用面向对象语言里的多重继承理解。比如 我要声明一个对话框类,这个对话框有特殊的样式。@H_404_2@@H_404_2@

dojo.declare(@H_404_2@@H_404_2@

"myDialog",@H_404_2@@H_404_2@

dijit.Dialog,Arial'"> {@H_404_2@@H_404_2@

style:...,Arial'"> setTitle:function(...){...}@H_404_2@@H_404_2@

)@H_404_2@@H_404_2@

可以比较方便的继承控件,编写自己的控件@H_404_2@@H_404_2@

猜你在找的Dojo相关文章