目前前端MVC模式已经被各大互联网企业或团队应用的如火如荼,从最早最闻名的Backbone到现在各式各样的OPOA框架或类库,无疑或多或少有着MVC的身影,MVC这个这个被后台用了这么多年依然响当当的技术名词,被移植到前端后依然展现了雄浑的魅力。。。
感觉实在没词了,编不下去了,直接正文
MVC模式统一的处理方法:
1. 获取数据 getData
2. 对数据的一些处理操作 afteGetData,包括对数据的一些简单处理,个人感觉是对数据的cache操作;
3. 构建通用的数据模块层 buildData, 这一步的设计在于对直接从后台拿到数据做的一层封装操作,类似Java 的VO,屏蔽一些后台经常变化的字段,这样当后台的一个字段不得已改变的时候,在前端造成的影响也不是那么disaster的;
4. 获取模板 getTemplate;
5.对模板的一些特殊操作 afterGetTemplate, 比如说对共用的模板加一个样式,这个样式就可以在获取模板之后来进行些操作,而不用重新定义一个模板文件;
6. 构建模板 buildTemplate, 这一步很重要,涉及很多关键词,比如延迟渲染、局部渲染、模板和数据的双向绑定。。。这些都是通过是先在模板中进行标记,通常通过钩子的方式进行,约定俗称,制定规则,通过buildTemplate取得这些标记,从而快速的了解模板中那些是子模板,是不需要先渲染的,那些是有可能要局部渲染的区块,当数据变化的时候,只渲染该区块部分,而不是整个HTML页面进行刷新;
7. 渲染操作 render 将之前获得的模板和数据通过模板引擎进行渲染,显示在指定的区域,具体的操作可以是innerHTML, appendChid或是insertBefore这些DOM操作;
8. 代理事件 delegateEvents,代理事件的好处在于html被干掉后,事件依然存在,可被代理的事件的前提是可冒泡的事件,因此对于那些不可冒泡的事件,就要特殊处理了,需要直接绑定了,不冒泡事件包括 focus, blur, mouseover, mouseout, submit, change, hashChange