前端编程中的数据与视图分离

很久很久以前跟大神kobe讨论了一下这个话题,大神的意思是将数据绑定到标签内,获取数据时从标签的attributes的值得到数据。更新数据时重新更新attributes即可。

但是我用了一个对象Data={}来保存数据,在标签上只保存ID,获取数据时可以从Data里进行查找,更新数据时除了更新view,也要更新Data.虽然看起来多写了一点代码,

但是大大降低了耦合度,实现了模块化,可读性也更强,尤其是当我们改变DOM结构的时候,低耦合的好处立刻就体现了出来,比如我们们用ul和li实现了一组数据的展示,

但是客户忽然说你改成某某样子的吧,做为CSS脑残人员,我竟无言以对。言归正传,我自己慢慢写出了个css之后,只要将元素标签的ID重新生成一下就OK了,对

数据的CRUD还是原来的逻辑不变。另外附上一点获取数据的代码

    Array.prototype.select = function (key, value) {
        for (var i = 0; i < this.length; i++) {
            if (this[i][key] == value) {
                return this[i];
            }
        }
    }
    Array.prototype.getIndex=function(key,value){
        for (var i = 0; i < this.length; i++) {
            if (this[i][key] == value) {
                return i;
            }
        }
    }

  这两个方法配合数组的原方法基本可以覆盖CRUD的操作啦

posted @ 2014-12-22 18:18  http文文  阅读(358)  评论(0编辑  收藏  举报
mail to me