基于 Dojo toolkit 实现 web2.0 的 MVC 模式
2010-04-13 00:00:00 来源:WEB开发网清单中的程序 定义了抽象的 view. 其中 _model 为为抽象 view 所关联的数据模型。
bindModel 方法将视图与数据模型进行关联。Refresh 方法提供当模型改变时,模型可以调用的用于刷新视图的方法。在 Refresh 函数中判断是否存在 updateView 函数如果存在就调用该函数。updateView 函数用于用于自定义的视图如何进行刷新。
清单 12. MODEL.js
if (!dojo._hasResource["taas._base.DataModel"]) {
dojo._hasResource["taas._base.DataModel"] = true;
dojo.provide("taas._base.DataModel");
dojo.declare("taas._base.DataModel",null,{
_views:null,
uri:null,
constructor : function(uri){
this._views = new Array();
this.uri = uri;
},
registerView:function(view){
view.bindModel(this);
this._views.push(view);
},
unRegisterView : function (view){
var i = this._views.indexOf(view);
if(i > 0)
this._views.slice(i,1);
},
notifyViews : function (json){
for(var i = 0; i < this._views.length; i++)
{
this._views[i].refresh(json);
}
}
});
}
清单中代码为抽象的 model. 它使用了 registerView,unRegisterView notifyViews 来进行与视图的通信。registerView 函数可以让 model 绑定一个视图,unRegisterView 函数可以让 model 解绑定一个视图,notifyViews 函数,用于通知该模型所绑定的所有视图进行刷新。
- ››基于IP地址的vsftp服务器
- ››基于MySQL 水平分区的优化示例
- ››基于CentOS5的Linux下pptp和openvpn的搭建及配置
- ››基于JavaScript的网页版塔防游戏
- ››基于Android平台 QQ大战360手机游戏爆红
- ››基于Windows Azure的云计算应用设计
- ››基于AES算法实现对数据的加密
- ››基于SoPC目标板Flash编程设计的创建及应用
- ››基于SolidWarks齿轮机构的运动分析与仿真
- ››基于Windwos Server 2008故障转移群
- ››基于JavaScript的REST客户端框架
- ››Dojo QuickStart 快速入门教程 (4) 简单的测试框架...
更多精彩
赞助商链接