2006-11-04

Js 按照MVC模式制作自定义控件

来源: 蓝色理想 作者:ppanyong 评论 0 条
 

接着我们就可以测试这个类是否正常。测试htm:

ajaxrequest.js 在blueidea上下载 http://www.blueidea.com/download/product/2006/3993.asp

四、控制

前面我们完成了,表现和数据的功能,接着就是将他们使用在一个应用中了,这就需要一个控制器控制他们的数据逻辑,以及事件的顺序。先看一下代码:

// 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();
}

这里比较简单,就先创建我们表现层与数据层的实例 data和ASL这辆个对象。然后设置一个事件callbackdata。让它在数据接受完成后使表现层完成相应的改变,仅此而已。

测试一下,就是new一个assessmentListContrl()对象,然后运行assessmentListContrl.bulid()就可以了。

到此,我们的这个小实例就完成了。假如当数据层有变化,或者表现层有新的需求,我们就可以只修改其中一部分,而且数据层是可以复用的。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!--加入webservice连接-->
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>v2</title>
<script language="javascript" src="assessmentListData.js"></script><!--数据层类-->
<script language="javascript" src="ajaxrequest.js" type="text/javascript"> </script><!--ajax webservice连接类-->
<script language="javascript" type="text/javascript">...
function init()...{
var data = new assessmentListData("test01","86");
data.callbackdata = function (xmlobj)...{
alert(xmlobj);
}
}

</script>
</head>

<body onload="init()">
<div>测试成绩单数据层</div>
<div></div>
</body>
</html>


共4页: 上一页 [1] [2] [3] 4 下一页
(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:Bad Tags — 有害的标签  
下一篇:一段非常简单的让图片自动切换js代码
    评论加载中…

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号