前面我们完成了,表现和数据的功能,接着就是将他们使用在一个应用中了,这就需要一个控制器控制他们的数据逻辑,以及事件的顺序。先看一下代码
//
JavaScript Document MVC = C
function assessmentListContrl(userName,assessmentID,cutScore) ... {
var ajaxobj = false;
this.userName = userName;
this.assessmentID=assessmentID;
this.cutScore = cutScore;
var ObjSelf;
ObjSelf=this;
}
var _assessmentListContrl = new assessmentListContrl();
assessmentListContrl.prototype.build = _bulidassessmentListContrl;
function _bulidassessmentListContrl()
... {
var data = new assessmentListData(this.userName,this.assessmentID);
var ASL = new assessmentList(this.cutScore);
data.callbackdata = function (xmlobj)...{
ASL.bulidAssessmentList(xmlobj,this.cutScore)
}
//下载状态
ASL.build();
}
function assessmentListContrl(userName,assessmentID,cutScore) ... {
var ajaxobj = false;
this.userName = userName;
this.assessmentID=assessmentID;
this.cutScore = cutScore;
var ObjSelf;
ObjSelf=this;
}
var _assessmentListContrl = new assessmentListContrl();
assessmentListContrl.prototype.build = _bulidassessmentListContrl;
function _bulidassessmentListContrl()
... {
var data = new assessmentListData(this.userName,this.assessmentID);
var ASL = new assessmentList(this.cutScore);
data.callbackdata = function (xmlobj)...{
ASL.bulidAssessmentList(xmlobj,this.cutScore)
}
//下载状态
ASL.build();
}
这里比较简单,就先创建我们表现层与数据层的实例 data和ASL这辆个对象。然后设置一个事件callbackdata。让它在数据接受完成后使表现层完成相应的改变,仅此而已。
测试一下,就是new一个contrl类对象,然后运行assessmentListContrl.bulid()就可以了。
到此,我们的这个小实例就完成了。如果当数据层有变化,或者表现层有新的需求,我们就可以只修改其中一部分,而且数据层是可以复用的。