界面与数据分离怎么做
来源:易贤网 阅读:1346 次 日期:2015-03-23 15:22:55
温馨提示:易贤网小编为您整理了“界面与数据分离怎么做”,方便广大网友查阅!

1、界面与数据的分离,必须体现在代码上,界面的代码归界面的代码,数据的代码归数据的代码,两者必须泾渭分明。

2、当界面需求发生改变,只需要改写界面的代码,并且所改写的代码不能影响到数据访问的代码。

只有做到这两者才算界面与数据分离。叶小钗同学让我上代码,趁今天还不是很忙,写下了下面的代码:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="utf-8" />

<title></title>

<script src=">

<script>

$(function () {

var Countries = function () { }

Countries.prototype = {

_items: [],

_getData: function (success) {

var items = [

{ id: 0, name: '中国' },

{ id: 1, name: '日本' },

{ id: 2, name: '美国' }

];

$.extend(this._items, items);

success(items);

},

//Events

on_selected: $.Callbacks(),

on_inserted: $.Callbacks(),

//Methods

select: function () {

var self = this;

this._getData(function (items) {

self.on_selected.fire({

sender: self,

items: items

});

});

},

insert: function (item) {

var self = this;

this._items.push(item);

self.on_inserted.fire({ sender: self, item: item });

}

}

//=======================================================================

// 以下为界面代码,当要调整界面,改这里就行啦~~~

var countries = new Countries();

countries.on_selected.add(function (args) {

$(args.items).each(function () {

$('#countries').append($('<option>').attr('value', this.id).text(this.name));

});

});

countries.on_inserted.add(function (args) {

$('#countries').append($('<option selected="selected">').attr('value', args.item.id).text(args.item.name));

});

var id = 10;

$('#btnAdd').click(function () {

countries.insert({ id: ++id, name: $('#countryName').val() });

});

countries.select();

//=======================================================================

});

</script>

</head>

<body>

<select id="countries"></select>

<div>

<input id="countryName" /><button id="btnAdd">添加</button>

</div>

</body>

</html>

代码是可以直接Copy运行的,界面如下图:

名单

界面与数据分离怎么做? 三联

上面的代码,真正做到了界面与数据的分离:

1、在数据访问的代码,没有一行涉及到UI的,如果有一行,哪怕一行涉及到,都不能算是界面与数据分离。(简单点说,就是数据访问的代码,不能对UI有依赖)

2、当界面需求发生变化,只要修改界面的代码就可以了。

3、数据访问的代码会不会发生变化?一般来说,这个是很少会发生变化的(相比界面)。假如发生变化了,需要修改数据访问的代码,所作的修改并不会影响到界面的代码。

关于代码,我就不作解释了,相信有点基础的同学都能看懂

更多信息请查看IT技术专栏

更多信息请查看技术文章
易贤网手机网站地址:界面与数据分离怎么做
由于各方面情况的不断调整与变化,易贤网提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!

2025国考·省考课程试听报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65099533/13759567129 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:易贤网
云南网警报警专用图标