用预置模板降低JS代码与HTML结构的耦合
2009-06-17 11:26
281 查看
最近在做一个多文件上传的东东,于是研究了下Flickr的图片上传,发现一段有意思的代码:
上面这段代码是隐藏的,添加文件时,在JS中可以当作模板来用:
上面的代码,仅需知道
按照传统的处理方式,可能得这么写:
与传统的处理方式相比,预置模板好处很明显:JS代码不需要知道具体的HTML结构,耦合性更低。当不涉及功能性的界面改变,仅需改变预置模板的HTML结构和相应的样式即可。
上面这段代码是隐藏的,添加文件时,在JS中可以当作模板来用:
var tmplItem = Dom.get('tmpl-upload-item'); var html = tmplItem.innerHTML.replace('%filename', file.name); html = html.replace('%filesize', getFileSize(file.size)); var newItem = document.createElement('li'); newItem.id = file.id; newItem.innerHTML = html; uploadList.appendChild(newItem);
上面的代码,仅需知道
%filename和
%filesize,对具体的HTML结构是完全未知的。
按照传统的处理方式,可能得这么写:
var newItem = document.createElement('li'); newItem.id = file.id; var nameEl = document.createElement('div'); nameEl.appendChild(document.createTextNode(file.name)); Dom.addClass(nameEl, 'name'); newItem.appendChild(nameEl); var sizeEl = document.createElement('div'); ... newItem.appendChild(sizeEl); uploadList.appendChild(newItem);
与传统的处理方式相比,预置模板好处很明显:JS代码不需要知道具体的HTML结构,耦合性更低。当不涉及功能性的界面改变,仅需改变预置模板的HTML结构和相应的样式即可。
相关文章推荐
- 用预置模板降低JS代码与HTML结构的耦合
- 用预置模板降低JS代码与HTML结构的耦合
- 将 html 代码写入 js 文件中,然后在网页中引用此 js 文件,实现头模板重用
- DIV结构的点击收缩展开左边栏代码(html+css+js)
- EasyStruct.js轻松创建可填入式html模板结构
- 39行代码实现JS HTML模板(轻量+高效+易用)
- js Html结构转字符串形式显示代码
- 39行代码实现JS HTML模板(轻量+高效+易用)
- 39行代码实现JS HTML模板(轻量+高效+易用)
- html嵌入js代码显示而不执行的
- JS构建页面的DOM节点结构的实现代码
- JS+CSS实现电子商务网站导航模板效果代码
- node.js 使用ejs模板引擎时后缀换成.html
- 在Eclipse下编写HTML/CSS/JS/JSP/Java代码时,代码自动提示的相关设置
- js获得参数为<!DOCTYPE html>代码,并渲染展示成页面
- JS+CSS实现电子商务网站导航模板效果代码
- JS获取html代码的纯文本和获取html代码的img
- AngularJs html compiler详解及示例代码
- 网页html/js/css错误代码在线检测网站汇总