当前位置 : 主页 > 网页制作 > Dojo >

Dojo点滴记录

来源:互联网 收集:自由互联 发布时间:2021-06-15
1.如果在小部件a的模板文件中使用了其他的小部件b,那么就需要在a的js文件中也要引入b的路径,并且a还要继承自dijit/_WidgetsInTemplateMixin,否则无法正确解析a中的b小部件。 2.使用on、

1.如果在小部件a的模板文件中使用了其他的小部件b,那么就需要在a的js文件中也要引入b的路径,并且a还要继承自dijit/_WidgetsInTemplateMixin,否则无法正确解析a中的b小部件。


2.使用on、topic.subscribe、aspect.before、aspect.after都会返回一个handler对象,该对象有个一个remove方法,在小部件中使用以上几个方法时,要使用this.own(handler)将事件的handler包起来,这样小部件在执行destroy的时候会自动执行handler.remove(),从而自动释放资源。或者也可以在模板文件中绑定事件,例如data-dojo-attach-event="click:_click",这样小部件在销毁的时候也会自动释放资源。


3.移除dijit/form/Select中所有的option:select.removeOption(select.getOptions());


4.获取dijit/form/Select当前显示的label: select.get('value',displayedValue);


5.require.toUrl(packageName)用于获取绝对路径,例如:
popupCallbackPage: window.location.protocol + "//" + window.location.host + require.toUrl("jimu") + "/oauth-callback.html",


6.不要给dijit/form/ComboBox设置height,否则其会显示不正确


7.在使用dojo设置dom节点的样式时,如果样式名是以驼峰命名方式书写的,那么在所有浏览器上运行都正常,如果样式名是以破折号断开的方式书写的,那么会在Firefox上无法设置样式。例如html.setStyle(dom,'backgroundColor','#f00')在所有浏览器上运行正常,但是html.setStyle(dom,'background-color','#f00')在Firefox上运行无效。


8.可以给某个dom节点设置多个attach-point名称,例如data-dojo-attach-point="textbox,focusNode"。


9.继承自ValidationTextBox类的dijit可以通过如下方式编程式的显示其验证信息:

ValidationTextBox.focusNode.focus();
ValidationTextBox.focusNode.blur();

10.设置dijit.form.Select中的文字部分为固定宽度的样式

.dijitSelectLabel.dijitValidationTextBoxLabel{
	width:52px;max-width:52px;overflow:hidden;
}
网友评论