自从接触前端开发以来,经历了dw可视化编辑html的前端,曾经以为jQuery很了不起了,操作dom真是太方便了,而且可以轻松的实现动画交互,数据请求,一度的ajax让人赞不绝口,然而当我还沉浸再前端的开发喜悦中时,一大堆开发框架和库如雨后春笋般层出不穷,amazeui让我们不用重新造轮子,快速搭建网站,开发起来也快了很多,然而前端的技术发展真是太快了,前端模块化的开发又来了,大项目的架构有了新的解决方案。
在vue出现之前react和angular占据大公司开发的首选框架,但是学习成本相对较高,语法晦涩难懂,需要在实践中理解。虽然vue仅仅是mvvm中的view层,但是其轻量无缝融入现有项目的能力备受青睐。
vue.js是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。具体步骤:第一步:需要observe的数据对象进行递归遍历,包括子属性对象的属性,都加上setter和getter这样的话,给这个对象的某个值赋值,就会触发setter,那么就能监听到了数据变化第二步: