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的设计思想的主要内容,如果未能解决你的问题,请参考以下文章

基于Boostrap和Vue设计网页

vue3响应式模式设计原理

vue怎么将ui设计的图标导入

React与Vue的思想理念差异之处

Vue学习日记——Vue核心思想

Vue之自建管理后台Vue端设计