vue的设计思想
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue的设计思想相关的知识,希望对你有一定的参考价值。
参考技术A vue是一个MVVM框架,将视图View的状态和行为抽象化成ViewModal层,让我们将视图 UI 和业务逻辑分开。重点在ViewModal层,要实现数据绑定,数据绑定的核心是响应式,所以
MVVM的三要素是:数据响应式、模板引擎及渲染;
以上图片中的内容就是vue的实现思想,只不过是vue1中的实现思想;
vue2中的改变是
通过以上源码观察,尤其:
可以看出vue2中的 Object.defineProperty 消耗是非常大的,不仅要遍历自身的key,去添加响应式,并且还要去遍历子属性的key。
vue1中watcher颗粒度太小了,所以改成一个组件一个watcher;
使用vnode最重要的原因是:只有一个watcher,我改了值很多foo,bar,界面受影响很多,没办法精确知道谁负责谁,所以只能两个VNode进行遍历;
带来的好处:
规避真是dom操作,
如何针对不同平台实现不同patch的呢:
拿出核心的createPatchFunction工厂函数逻辑,根据传参返回一个真的patch函数
参数nodeOps是节点操作,
参数modules是属性更新操作,针对平台的platformModules操作
简单说就是 把平台特有的 nodeOps, modules 节点操作和节点属性传进去,会得到平台特有的patch函数
以上是关于vue的设计思想的主要内容,如果未能解决你的问题,请参考以下文章