配置文件js
<script src="../../common/config/dojostConfig.js"></script>
dojo js
<script type="text/javascript" src="../../common/dojost/dojo/dojo.js"></script>
soria主题的css
<link rel="stylesheet" href="../../common/dojost/dijit/themes/soria/soria.css">
- 在dojo控件定义之后,dojo已经为他们准备了js和css所以需要加载进来
- data-dojo-type标准写法 data-dojo-type="dijit/form/Button"
- 以“_”开头的变量会被 Dojo 理解成私有变量
- require写法
<script type="text/javascript">
require([
'dojo/ready',
"login/main",
'dijit/registry',
"dijit/form/Button"
], function (ready, Main, registry) {
ready(function() {
var main = new Main();
});
});
</script>
- 主界面html配置的js应该有一个constructor 构造器,main.js如下
define([
'dojo/_base/declare',
'dijit/form/Button',
'dojo/dom',
'login/dialog',
'dojo/_base/lang',
'dojo/on',
'dijit/registry'
], function(declare, Button, dom, Dialog, lang, on, registry) {
return declare(null, {
btn_1:null,
constructor:function () {
this.btn_1=registry.byId('btn_1');
on(this.btn_1,'click', this._onbtn_1Click.bind(this));
},
_onbtn_1Click: function () {
this._showDialog();
},
_showDialog:function(){
var dialog=new Dialog();
// dialog.startup();
dialog.show();
}
});
});
6.define的导入dojo包的顺序function的时候参数顺序要保持一致。参数用到哪些就在function里面写那些没用到可以不写。
7.如果用到了template必须要导入'dijit/_WidgetsInTemplateMixin'这个包,下面
return declare([
dialog,
_WidgetsInTemplateMixin ],{
templateString:template /*这句话一定要写,dojo会从这个变量找template*/});
8.
data-dojo-attach-point充当与id,dojo会用这个属性找控件,不用byid找一下,直接用就行,dojo变量要用
registry.byId()查找