锁定老帖子 主题:打造Ext2.0模块化单页系统(二)
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-04-20
可能上次表述有问题, 右边整体是个tabpanel(沿用了你的例子), 定义了一个panel作为子tab页, 该tab根据左边的机构树节点来载入相应的grid
问题是子tab页第一次载入grid后, 好像就缓存了该grid, 无论我点击左边任何一个节点, 右边tab页加载的grid都不会刷新数据, 一直显示为第一次加载的grid数据 部分代码如下 nodeClick : function(node, event) { Ext.get("nodeId").value=node.id; this.loadMask.show(); Ext.Ajax.request( { method : 'GET', url : 'extjs/module/module1.js', scope : this, success : function(response) { var module = eval(response.responseText); this[this.tab1.id]=new module(this.tab1); this.body.activate(this.tab1); this.body.doLayout(); this.loadMask.hide(); }, failure : function(response) { Ext.Msg.alert("错误", this.tab1.id + " 加载失败!"); // Ext.Msg.show("错误",t.id.toString()); this.loadMask.hide(); } }); } }); 附上问题截图 |
|
返回顶楼 | |
发表时间:2008-04-20
huaandylau 写道 可能上次表述有问题, 右边整体是个tabpanel(沿用了你的例子), 定义了一个panel作为子tab页, 该tab根据左边的机构树节点来载入相应的grid
问题是子tab页第一次载入grid后, 好像就缓存了该grid, 无论我点击左边任何一个节点, 右边tab页加载的grid都不会刷新数据, 一直显示为第一次加载的grid数据 部分代码如下 nodeClick : function(node, event) { Ext.get("nodeId").value=node.id; this.loadMask.show(); Ext.Ajax.request( { method : 'GET', url : 'extjs/module/module1.js', scope : this, success : function(response) { var module = eval(response.responseText); this[this.tab1.id]=new module(this.tab1); this.body.activate(this.tab1); this.body.doLayout(); this.loadMask.hide(); }, failure : function(response) { Ext.Msg.alert("错误", this.tab1.id + " 加载失败!"); // Ext.Msg.show("错误",t.id.toString()); this.loadMask.hide(); } }); } }); 附上问题截图 url : 'extjs/module/module1.js', 这里的问题 |
|
返回顶楼 | |
发表时间:2008-04-20
goodboy 能具体说明吗?
|
|
返回顶楼 | |
发表时间:2008-04-20
看看搂主的源代码,这里的1应该是变量吧,如果用1,打开哪一个tab也是module1.js的数据阿
|
|
返回顶楼 | |
发表时间:2008-04-21
有空我会做个你这种界面的样例。
|
|
返回顶楼 | |
发表时间:2008-04-22
针对上次出现的问题,找到了出错原因所在, 即在原先的单页模式中, 每次加载一个js, 会把该js中的compoment add到main中(负责加载的父窗口), 上次我所实现的, 是重复加载同一个grid, 只是每次加载的数据不同, 这样, 造成每加载一次, main中就增加一个grid, 所以造成我只看到第一次加载的grid数据, 其实, 第二次,第三次等结果是依次排列在下面的
目前的一种处理方式是在event handle时, 先将container中已经加载的compoment remove 然后, 重新加载 |
|
返回顶楼 | |
发表时间:2008-04-23
麻烦楼主给做个demo样例吧,做惯了传统的frame框架,jsp之间怎么传值之类的。ext的模式实在是不好理解。挺迫切的。感谢楼主了。
|
|
返回顶楼 | |
发表时间:2008-04-26
您好microboat,我初学Ext,请问Ext做界面的话用什么做后台啊,一般是jsp&servlet么?如果和Struts,Tapestry等Web框架整合的话,容易做到么?能不能提供个思路啊?谢谢!
|
|
返回顶楼 | |
发表时间:2008-04-29
这样做是挺好,我就是这样做的,左边一个根据数据库菜单资源生成的树,对应右边激活相应的TAB,页面不缓存,且已经实现加载对应JS,嵌套页面WINDOW调用,返回数值等功能。例如用户查选择框就是一个单独的页面调用,但是调试起来就很麻烦,必须得用上firebug和IE Develop toolbar。
还有一个问题,就是这样动态加载,似乎所有ext-gen-id都没有释放过(用过了还是能拿到该id),用久了会不会资源泄露?期待结果 |
|
返回顶楼 | |
发表时间:2008-04-29
不是hide而是autodestroy的话,会泄露
|
|
返回顶楼 | |