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

初识DOJO(1)

来源:互联网 收集:自由互联 发布时间:2021-06-15
关于Dojo,我接触的比较晚,我是做web开发的,语言也一直在用Java,后期项目组转型,开始研究GIS,选择的是ArcGIS for javascript ,为什么要提到arcgis,因为arcgis for javascript用的就是Dojo,当

关于Dojo,我接触的比较晚,我是做web开发的,语言也一直在用Java,后期项目组转型,开始研究GIS,选择的是ArcGIS for javascript ,为什么要提到arcgis,因为arcgis for javascript用的就是Dojo,当然在刚刚接触arcgis的时候,我还不认识什么Dojo;

逐渐的什么arcgis,了解他的内部构造与写法,第一次发现了dojo;不过dojo在国内的网站真的很难找到规整的文档,学习资料更是没有,api这能在官网在线查看,个版本之间存在跨度,学起来还无头绪,几经周折最终还是被dojo深深的吸引住了;

web开发后台一般以ssh的框架居多,我一直尝试前台dojo与后台ssh的组合,但是一直无头绪,在网上查找,有很多成功者,但是却没有例子,而且一般都是两年前的帖子,哎,只能自己慢慢摸索,最终我成功的组合出了第一版dojo与ssh。

以往我们使用ssh与jquery的组合居多,还有extjs也不少,如果你只有使用jquery的经历,那你走在dojo的道路上真的是充满了曲折,我也是在借鉴了jquery-easyui的基础上,才逐渐的摸索出一种思路,由于是dojo的初学者,可能思路不是很完善,仅供参考。

(一)iframe与dojo

以往我们使用jquery的时候都是伴随着iframe使用的,最简单的就是iframe分为上、左和右的布局,左侧一般是菜单栏,点击跳转请求,在右侧显示;然而在dojo中,布局是在一个页面通过不同的div来完成的,那么应该怎么实现在div中的跳转呢?摸索了很久,发现有两种方式:第一种是使用dojo中的iframe方法,第二种比较简单,直接去判断div的id来选择打开还是刷新,本人实现的是第二种方法,如下

/**
 * 判断新table船体是否存在
 * 1.存在,显示
 * 2.不存在,新建并显示
 */
function addtable(title,src){
		var tc = dijit.byId("mainTabContainer");
		var cp;
	if(dijit.byId(title)==undefined){
		cp = new dojox.layout.ContentPane({
			id:title,
			href:src,
			title: title ,
			selected: true,
			closable: true 
		});
		tc.addChild(cp);
		tc.selectChild(cp);
	}else{
		dijit.byId(title);
		tc.selectChild(dijit.byId(title));
		dijit.byId(title).refresh();//刷新
	}
}

很简单,我在菜单栏的项目上绑定了一个onclick时间,点击触发addtable函数的同时,将标题与连接传进函数,然后用代码的方式生成一个dojox.layout.ContentPane,之后每次点击时间执行函数,都回去判断标题是否存在,存在刷新,不存在创建一个dojox.layout.ContentPane。





ps:我会坚持每天写下一点心得,就当做学习dojo的日记吧,希望能帮到别人!

网友评论