- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
雏凤清音 —— 面向数据的前端编程方法
1 名词解释
桐花万里丹山路,雏凤清于老凤声 —— 唐 李商隐《韩冬郎既席为诗相送因成二绝》·
作为一种有别传统的前端编程方法,雏风名之。
面向数据的编程方法,避开繁琐的 ui代码,直接针对前端数据模型编程,你的程序就能更加清晰简单
。清音名之。
2 从实例开始
避免过于枯燥的陈述,我们从实例开始,我们以百度 WebIM 分组管理为例。
这里面,我们需要对用户分组列表执行:添加、删除、修改、保存、取消、排序等六种功能。
这算是一个比较常见的需求,那么,我们通常在前段实现这种功能,一般如何设计?多少代码?多
长时间?
思考时间 ……………………….
===================================================
好了现在我们来展示一中简单的实现方式:
程序代码:
var data = { list: [ { id: 1, name: 我的分组 1
}, { id: 2, name: 我的分组 2 }, {
id: 3, name: 我的分组 3 }, { id: 4,
name: 我的分组 4 } ] } var action = {
sort: function(list, inc) { $(sort).className = inc ? down: up;
list.sort(function(a, b) { return (inc ? 1: -
1) * .localeCompare(); }); render(data); },
create: function(name) { data.list.push({
id: +new Date(), name: name }); render(data);
}, edit: function(id) { each(data.list,
function(value, i) { data.list[i].state = value.id == id ?
edit: normal; }); render(data); },
del: function(id) { each(data.list, function(value, i) {
if (value.id == id) { data.list.splice(i, 1);
} }) render(data); }, save: function(id) {
each(data.list, function(value, i) {
if (value.id == id) { = $(g_ + id).value;
value.state = normal; } });
render(data); }, cancel: function(id) { each(data.list,
function(value, i) { data.list[i].state = normal;
}); render(d
文档评论(0)