最近在用dojo做项目, 把使用过程中遇到的一些问题记录下来, 方便以后查阅, 因为问题不断, 所以持续更新中..........

嵌套 TabContainer 时会出现样式问题: tab控制样式问题。加入如下属性即可:
<div data-dojo-type="dijit/layout/TabContainer" controllerWidget="dijit.layout.TabController" style="height:100%">

 
dijit/layout/_LayoutWidget 的 startup方法的执行时间点,可以在这个方法上对子对象进行操作,因为该方法在生命周期是处理在该窗口子对象都创建并在dom流上.
 
 

在使用dgrid时要注意startup方法的执行时间点. 要保证其已在dom流中. 万一在错误点执行的话,会出现渲染不正确(头部header被重叠).此时可以在父窗口中调用grid.resize().
 

在使用dgrid的插件:selector 时,返回的store数据必需要带有id字段。不然会在触发全部选择事件时会报错。所以特别强调的是对所有的store数据严格有唯一主键标识。并不用一定是"id",可以指定 identityProperty字段值 

Grid的数据源只能是js数组,指定store属性没用。因为它没有store属性。OnDemandGrid 和 [Grid,Pagination]组合时才可以指定store属性。

在自定义ui模板组件时,如果里面有BorderContainer框架,则自定义的组件不要继承BaseWidget或_LayoutWidget, 要直接继承BorderContainer

  • Mixing in DijitRegistry will allow dijit layout widgets to recognize dgrid instances as child widgets, and as a result the layout widgets will take care to call startup and resize appropriately on the list/grid
当一个Grid在一个Layout组件里时, 为了正确显示Grid,可以让Grid扩展DijitRegistry,这样layout就可以重新组织和实例化grid,并正确初始化它. 示例代码:
var grid = new (declare([OnDemandGrid, DijitRegistry]))({
store: myStore,
columns: myColumns
}, "grid");

dojox/form/Manager注意:

基表单子元素必需要有name属性:

<input type="text" name="date1" value="2005-12-30" data-dojo-type="dijit/form/DateTextBox"
required="true" style="width:8em"/></td>

在包含Manager的父容器定义时,如果覆盖重写方法时,必需先执行

 this.inherited(arguments);

在处理表单时如果用dojox/form/Manager时, 在对表单设置值时调用setFormValues时, 我发现 dijit/form/RadioButton 元素的值设置不成功, 这是因为dojo代码有点问题: dojox/form/manager/_Mixin.js中310中代码如下:

widget.set("checked", widget.value === value, !this.watching);

竟然用的 === , 有必要这样吗????? 所以我们在html中用

<input id="${id}-comeFrom-1"
type="radio" data-dojo-type="dijit/form/RadioButton"
value="2"
name="comeFrom"/>
<label for="${id}-comeFrom-1">customer</label>

因为模板中的value提取后是字符类型的值, 和我服务端返回的整数不能相等, 所以不相等. 改成value=2这种形式也没有.要改成如下:

<input id="${id}-comeFrom-1"
type="radio" data-dojo-type="dijit/form/RadioButton"
data-dojo-props="checked:true,value:2" name="comeFrom"/>
<label for="${id}-comeFrom-1">customer</label> <br/>

在data-dojo-props中定义value, 必需是int类型的.

dojo使用疑难杂症集锦的更多相关文章

  1. Android 蹲坑的疑难杂症集锦一

    各位看官老爷子你们好,我就是那个挖坑不埋,还喜欢开新矿的小喵同志. 问大家一个问题,在Github上找项目的时候,看到中文简介说明你们是不是觉得这个项目很low不屑一顾? 最近朋友无意中说,在Gith ...

  2. 在Hadoop 2.3上运行C++程序各种疑难杂症(Hadoop Pipes选择、错误集锦、Hadoop2.3编译等)

    首记 感觉Hadoop是一个坑,打着大数据最佳解决方案的旗帜到处坑害良民.记得以前看过一篇文章,说1TB以下的数据就不要用Hadoop了,体现不 出太大的优势,有时候反而会成为累赘.因此Hadoop的 ...

  3. 看完SQL Server 2014 Q/A答疑集锦:想不升级都难!

    看完SQL Server 2014 Q/A答疑集锦:想不升级都难! 转载自:http://mp.weixin.qq.com/s/5rZCgnMKmJqeC7hbe4CZ_g 本期嘉宾为微软技术中心技术 ...

  4. Android之常见问题集锦Ⅱ

    Android问题集锦Ⅰ:http://www.cnblogs.com/AndroidJotting/p/4608025.html EditText输入内容改变事件监听 _edit.addTextCh ...

  5. Carousel 旋转画廊特效的疑难杂症

    疑难杂症 该画廊特效的特点就是前后元素有层级关系. 我想很多人应该看过或者用过这个插件carousel.js,网上也有相关的教程.不知道这个插件的原型是哪个,有知道的朋友可以告诉我. 该插件相对完美, ...

  6. AngularJs2与AMD加载器(dojo requirejs)集成

    现在是西太平洋时间凌晨,这个问题我鼓捣了一天,都没时间学英语了,英语太差,相信第二天我也看不懂了,直接看结果就行. 核心原理就是require在AngularJs2编译过程中是关键字,而在浏览器里面运 ...

  7. Dojo前端开发框架与jQuery前端开发框架,对比分析总结

    最近Dojo和jQuery双双发布了最新的1.8版本,有着相同版本号的两个Javascript库也有许多核心的相同之处:相同的资源加载机制AMD.相同的选择器 引擎Sizzle等.作为业界知名的Jav ...

  8. Visual Studio问题集锦:coloader80.dll未正确安装

    问题 今天在修改之前的一个项目的时候报了一个错,大概内容如下: 有一个 Visual Studio 的 DLL 文件(coloader80.dll)未正确安装.请通过"控制面板"中 ...

  9. Eclipse for Java EE软件操作集锦(二)

    看本文章之前请确保已经了解eclipse建立web工程,如果有疑问请查看本系列文章第一篇 eclipse软件操作集锦(一) 1.我们添加一个servlet 配置一下web.xml测试一下是否能正常显示 ...

随机推荐

  1. GUN485项目的总结

    1.DMA中配置要放在串口的配置后面. 2.DMA有3种中断方式:传输完成.传输一半.传输错误 3.如果要用DMA容易造成串口数据还没发完就把485的控制脚拉低导致数据没发完.解决办法是DMA发送完成 ...

  2. BAT批处理(一)

    本文摘自博文<BAT批处理文件教程> 这是一篇技术教程,我会用很简单的文字表达清楚自己的意思,只要你识字就能看懂,就能学到知识.写这篇教程的目的,是让每一个看过这些文字的朋友记住一句话:如 ...

  3. 【】五句话搞定JavaScript作用域

    JavaScript的作用域一直以来是前端开发中比较难以理解的知识点,对于JavaScript的作用域主要记住几句话,走遍天下都不怕... 一.“JavaScript中无块级作用域” 在Java或C# ...

  4. taocode

    http://code.taobao.org/project/lang/list/Go/1/

  5. php 请求参数限制

    公司有个群发短信的小项目,项目上线了很久也没有什么问题,最近有商家说 我短信群发不能用 现象是:发现有时候可以发送,有时候不可以发送,看截图发送的手机数量不一样 通过调试php代码发现 php 只接受 ...

  6. JBoss的安装与配置(对应eclipse配置)【转】

    安装JBoss纯粹是目的就是学习EJB3...至少现在是这样的 EJB需要运行在EJB容器中.每个J2EE应用服务器都含有EJB容器和Web容器.这样,既支持运行EJB,也可以运行Web应用 目前EJ ...

  7. C#引用类型与值类型的比较

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using SimpleDe ...

  8. 关于HIVE的配置

    一:安装配置hive 1.检测hadoop 2.解压hive 3.修改环境 sudo vi /etc/profile 4.source以下 5.复制hive-env.sh 6.编辑hive-env.s ...

  9. 位与(&)常用编程技巧

    补充知识:1)正整数的补码与原码相同:                2)求负整数的补码:原码 符号位不变,数值位各位取反,最后整个数加1得到补码:                3)按位与& ...

  10. 更改Magento的base url

    Magento的Base URL是用于访问商店页面的URL,您也可以为单独一个store view设置一个Base Url.在改这项值之前请确保您的域名已经指向了网站所在服务器的IP,DNS解析完成后 ...