dijit.editor
使用方法
dojo.require("dijit.Editor");
<div data-dojo-type="dijit.Editor"></div>

定制工具栏
<div data-dojo-type="dijit.Editor" data-dojo-props="plugins:['bold','italic','|','cut','copy','paste','|','insertUnorderedList']"></div>
如下主题:
1、布局
2、表单
3、数据表格
4、图表等
1、布局
代码
<head>
<title></title>
<link rel="stylesheet" href="script/dijit/themes/claro/claro.css" type="text/css">
<script src="script/dojo/dojo.js" type="text/javascript" data-dojo-config="isDebug: true,parseOnLoad: true"></script>
<script type="text/javascript">
dojo.require("dijit.layout.BorderContainer");
dojo.require("dijit.layout.TabContainer");
dojo.require("dijit.layout.ContentPane");
</script>
<style type="text/css">
html, body {
height: 100%;
margin: 0;
overflow: hidden;
padding: 0;
}
</style>
</head>
<body class="claro">
<div id="layout" data-dojo-type="dijit.layout.BorderContainer" style="height: 100%;">
<div id="left" data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region:'left',splitter:true" style="width:200px;">ddd</div>
<div id="center" data-dojo-type="dijit.layout.TabContainer" data-dojo-props="region:'center'">
<div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="title:'test1'">ddd1</div>
<div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="title:'test2'">ddd2</div>
</div>
</div>
</body>
2、表单
...待续...
Dojo Deferreds and Promises
一个约定(Promise)需要满足以下情况:
1、有三种状态之一:unfulfilled, resolved, rejected (未处理、已完成、驳回)
2、状态改变仅可从未处理到已完成,或已完成到驳回;
3、实现then函数,当状态改变时调用所注册的回调;
4、不能在回调中改变原有的值;
5、then函数返回一个新的Promise对象,以便能链式调用;
代码:
// original 对象是 Deferred (延迟)var original = dojo.xhrGet({ url: "users-mangled.json"});
// result 对象是一个新的Promise(约定),生成新值
var result = original.then(function(res){ return {...}}
// 链式调用Promiseresult.then(function(objs){...});// original 延迟对象没有发生变化
original.then(function(res){...});
另一个重要功能:dojo.when
举个简单的例子:将数据显示在表格中(datagrid)
function showData(data){....}
我们希望数据来源(data参数),可以是固定的json对象,也可以是动态延迟对象(加载外部网址),写法
function showData(data){
dojo.when(data,function(data){...});
}
固定值的调用写法:
showData([{name:'zhangshan'}]);
动态延迟的调用写法:
showDatat(dojo.xhrGet({url:"..."}));

