前摘
2018-11-01在原文基础上,新添加一些东西,随着之后的深入会添加更多的内容。
MVVM框架的要点
目前前端js框架三巨头是Vue.js, React, AngularJs。共同点都是以数据为中心,摆脱了操作Dom节点的困恼。
因为我本人目前主要是以Vue.js为主,React为辅,所以目前的内容主要是以Vue.js设计模式和代码作为参考,React作为对比。
数据的双向绑定
说起Vue,值得一提的就是数据双向绑定了。
其实现原理就是通过属性拦截器+订阅发布模式。
前段时间Vue作者尤雨溪表示对Proxy很感兴趣,但是至少Vue3之前是通过Object.defineproperty实现的。
其设计原理图如下:
单页面应用
我们可以使用Vue-router来实现SPA(单页面web应用),其原理是通过H5的history和hash欺骗路由来实现的。
单页面应用的优点在于,让用户在webapp能够感受到nativeapp的流畅,能够构建mvc的开发模式。
但是其缺点也非常明显,首页加载缓慢,首屏数据无法被SEO检测,Ajax相关,所以一般还需要SSR(服务端渲染)来解决。
小demo实现Vue.js数据双向绑定,自定义属性等。
1 |
|
1 | // 核心类 |