那首先谈谈你对Vue的理解吧?

2022-08-10  本文已影响0人  懒懒猫

vue.js是用于构建用户界面的渐进式JavaScript 的单页面应用框架,
特点:

核心特点:

虚拟DOM:
运行的js速度是很快的,大量的操作DOM就会很慢,时常在更新数据后会重新渲染页面,这样造成在没有改变数据的地方也重新渲染了DOM节点,这样就造成了很大程度上的资源浪费。
利用在内存中生成与真实DOM与之对应的数据结构,这个在内存中生成的结构称之为虚拟DOM,当数据发生变化时,能够智能地计算出重新渲染组件的最小代价并应用到DOM操作上

diff算法:比较新旧节点,一边比较一边给真实的DOM打补丁,最终只把变化的部分重新渲染,提高了渲染效率的过程。
当数据发生改变时,set方法会让调用Dep.notify通知所有订阅者Watcher,订阅者就会调用patch给真实的DOM打补丁,更新相应的视图。

响应式:vue是响应式的,我们通过Object.defineProperty为对象obj添加属性,可以设置对象属性的gettersetter函数。之后我们每次通过点语法获取属性都会执行这里的getter函数,在这个函数中我们会把调用此属性的依赖收集到一个集合中 ;而在我们给属性赋值(修改属性)时,会触发这里定义的setter函数,在次函数中会去通知集合中的依赖更新,做到数据变更驱动视图变更。

双向数据绑定:提供了实现数据双向绑定的手段,我们可以通过v-model的语法糖来实现`

MVVM:Model-View-ViewModel
Model 表示数据模型层。 view 表示视图层, ViewModel 是 View 和 Model 层的桥梁,数据绑定到 viewModel 层并自动渲染到页面中,视图变化通知 viewModel 层更新数据

上一篇下一篇

猜你喜欢

热点阅读