论坛首页 Web前端技术论坛

PageBus1.1有利于实现UI组件之间的松散耦合

浏览 5638 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-08-29  
推荐大家使用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 的消息发布和订阅功能,是最佳方案。

   发表时间: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富客户端界面所需要的技术。
0 请登录后投票
   发表时间: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>


这种编程模式各位没有用过吗?还是有更好的方法来做.希望看到反馈.
  • 大小: 88.6 KB
0 请登录后投票
   发表时间:2007-09-06  
http://www.tibco.com/devnet/pagebus/default.jsp
地址无法访问
0 请登录后投票
   发表时间:2007-09-06  
附件中是pagebus1.1:
<script src="pagebus.js"></script>


0 请登录后投票
   发表时间:2007-09-09  
你的组合界面的源码可否拿 来共享一下,感觉真的好漂亮
0 请登录后投票
   发表时间:2007-09-10  
附件中是"Ext实现的组合式界面实例画面"对应的js代码,只能作为参考,恕不提供进一步的支持,而且没有后台和其他相应文件,也无法运行.
  • code.rar (18.3 KB)
  • 描述: Ext实现的组合式界面实例代码
  • 下载次数: 107
0 请登录后投票
   发表时间:2007-09-10  
这个跟OpenAjax Hub很类似吧
0 请登录后投票
   发表时间:2007-10-01  
fangzhouxing 写道
附件中是"Ext实现的组合式界面实例画面"对应的js代码,只能作为参考,恕不提供进一步的支持,而且没有后台和其他相应文件,也无法运行.



我怎么调试你给的源码总是不成功,LZ是否在提供之前测试过?或者除了EXT的一些JS库,还需要一些别的JS?
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics