最近在用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. 优雅的函数式编程--Clojure概述

    欢迎转载,转载请注明出处,徽沪一郎. 楔子 由于阅读storm源码的原因,头一次接触到Clojure.没有花特别的时间来研究clojure语法,只是在一些特殊的用法时,才查了一下clojure官网的文 ...

  2. WEB-INF目录下的jsp页面如何访问?

    只能在sevlet(或者spring的control,struts的action,本质都是sevlet)中访问也就是只能通过java后台访问,这里web-inf下的内容是不对外开放的/安全的,不能通过 ...

  3. 使用php作linux自动执行脚本

    使用php作linux自动执行脚本 [来源] 达内    [编辑] 达内   [时间]2013-03-21 在作社区时, 时常需要统计上线人数等数据. 一般做法是, 把这段代码放在用户 login或者 ...

  4. Yii源码阅读笔记(十一)

    controller类的render部分,用于渲染视图和布局文件: /** * Returns all ancestor modules of this controller. * 获取当前控制器所有 ...

  5. Bootstrap页面布局18 - BS导航路径以及分页器

    导航路径:又叫“面包屑”,功能是让用户知道所处的位置. <!--面包屑--> <ul class='breadcrumb'> <li><a href='#'& ...

  6. Linux命令echo -e

    在Linux命令中 echo -e 这个参数e是什么意思. echo –e “I will use ‘touch’ command to create 3 files.” 这里参数e的作用是什么 ma ...

  7. 【转】const 是左结合的,若左边为空,则再向右结合

    const 是左结合的,若左边为空,则再向右结合 一.指向  const  对象的指针指向  const  对象的指针,指的是指针指向的对象的内容是const的,不可修改,但指针本身(即指针的值)是可 ...

  8. Java Web项目调优原则

    1. 根据oracle生成的awr文件排除是否是数据库或者sql问题 2.配置中间件的dump文件路径,gc log文件路径 3.通过 MemoryAnalyzer 分析 dump文件 4.通过exc ...

  9. ASP.Net网站程序在编译发布部署后的后期修改

    ASP.Net网站程序在发布部署后的后期修改 作者:东篱南山 这里说的后期修改是指网站编译发布并部署好之后,对程序进行的修改,即在不能更改现有代码的情况下,更改页面的显示或是更改业务逻辑.一般是在程序 ...

  10. 【Android开发学习笔记】【第九课】重力感应

    概念 使用重力感应技术的Android游戏已经屡见不鲜,不知道自己以后会不会用到,所以先研究了一下. 在网上学习了一下,貌似没有api,所以得自己去分析手机处在怎样状态下.注意: 下面提供的demo程 ...