四、控制
前面我們完成了,表現(xiàn)和數(shù)據(jù)的功能,接著就是將他們使用在一個(gè)應(yīng)用中了,這就需要一個(gè)控制器控制他們的數(shù)據(jù)邏輯,以及事件的順序。先看一下代碼:
// 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) } //下載狀態(tài) ASL.build(); }
這里比較簡單,就先創(chuàng)建我們表現(xiàn)層與數(shù)據(jù)層的實(shí)例 data和ASL這輛個(gè)對(duì)象。然后設(shè)置一個(gè)事件callbackdata。讓它在數(shù)據(jù)接受完成后使表現(xiàn)層完成相應(yīng)的改變,僅此而已。
測試一下,就是new一個(gè)assessmentListContrl()對(duì)象,然后運(yùn)行assessmentListContrl.bulid()就可以了。
到此,我們的這個(gè)小實(shí)例就完成了。如果當(dāng)數(shù)據(jù)層有變化,或者表現(xiàn)層有新的需求,我們就可以只修改其中一部分,而且數(shù)據(jù)層是可以復(fù)用的。
經(jīng)典論壇討論: http://bbs.blueidea.com/thread-2689805-1-3.html
出處:藍(lán)色理想
責(zé)任編輯:moby
上一頁 Js 按照MVC模式制作自定義控件 [3] 下一頁
◎進(jìn)入論壇網(wǎng)頁制作、網(wǎng)站綜合版塊參加討論
|