推荐大家使用PageBus!
http://www.tibco.com/devnet/pagebus/default.jsp

举一个简单的例子。

用户列表中,需要实现新建用户功能。利用Extjs框架,用两个js文件实现:
(1)user-list.js 实现网格显示功能,并定义工具条,其中有新建按钮。
(2)user-add.js 弹出对话框,输入用户信息。

当用户新建完毕后,需要将用户网格刷新,并将光标定位到刚才新建的用户上。

作为设计准则,我们应该避免双向依赖关系,即:user-list.js 可以依赖 user-add.js(让它显示对话框),但 user-add.js 应该
避免依赖user-list.js。

那么如何做到新建用户后,能实现上述功能呢?

显然,使用 PageBus 的消息发布和订阅功能,是最佳方案。
评论
dhtiger 2007-10-01
fangzhouxing 写道
附件中是"Ext实现的组合式界面实例画面"对应的js代码,只能作为参考,恕不提供进一步的支持,而且没有后台和其他相应文件,也无法运行.



我怎么调试你给的源码总是不成功,LZ是否在提供之前测试过?或者除了EXT的一些JS库,还需要一些别的JS?
fredzhang 2007-09-10
这个跟OpenAjax Hub很类似吧
fangzhouxing 2007-09-10
附件中是"Ext实现的组合式界面实例画面"对应的js代码,只能作为参考,恕不提供进一步的支持,而且没有后台和其他相应文件,也无法运行.
dhtiger 2007-09-09
你的组合界面的源码可否拿 来共享一下,感觉真的好漂亮
fangzhouxing 2007-09-06
附件中是pagebus1.1:
<script src="pagebus.js"></script>
fangzhouxing 2007-09-05
附图是Ext1.1实现的组合式界面. 采用了多个js:
<script src="/common.js"></script>
<script src="/track/main.js"></script>
<script src="/track/project.js"></script>
<script src="/track/element.js"></script>
<script src="/track/component.js"></script>
<script src="/track/component-form.js"></script>
<script src="/track/milestone.js"></script>
<script src="/track/milestone-form.js"></script>
<script src="/track/version.js"></script>
<script src="/track/milestone-with-version.js"></script>
<script src="/track/milestone-without-version.js"></script>
<script src="/track/version-form.js"></script>


这种编程模式各位没有用过吗?还是有更好的方法来做.希望看到反馈.
fangzhouxing 2007-09-02
(续上篇)利用pagebus实现的具体代码,展示如下。

在user-list.js中订阅新建用户消息:
window.PageBus.subscribe('user.add', this, onUserAddedOrUpdated, null)

相应的onUserAddedOrUpdated实现:
function onUserAddedOrUpdated(subj, msg, data) {
   cId = msg.userId;
  ds.reload();
}


user-add.js中发布新建用户消息:
window.PageBus.publish('user.add',{userId:newId});


利用PageBus,可以方便地实现类似.Net平台下的CAB(Composite UI Application Block)框架所提供的组合式界面,而这正时当前RIA富客户端界面所需要的技术。
发表评论

提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则

您还没有登录,请登录后发表评论

fangzhouxing
搜索本博客
存档
最新评论