目录:
1.虚拟Dom
2.:key
3. 渐进式
4. MVVM
5. 数据绑定
虚拟DOM
Web界面由DOM树(树的意思是数据结构)来构建,当其中一部分发生变化时,其实就是对应某个DOM节点发生了变化, 虚拟DOM就是为了解决浏览器性能问题而被设计出来的。如前,若一次操作中有10次更新DOM的动作,虚拟DOM不会立即操作DOM,而是将这10次更新的diff内容保存到本地一个JS对象中,最终将这个JS对象一次性attch到DOM树上,再进行后续操作,避免大量无谓的计算量。所以,用JS对象模拟DOM节点的好处是,页面的更新可以先全部反映在JS对象(虚拟DOM)上,操作内存中的JS对象的速度显然要更快,等更新完成后,再将最终的JS对象映射成真实的DOM,交由浏览器去绘制。
作者:LoveBugs_King
链接:https://www.jianshu.com/p/af0b398602bc
来源:简书
:key
key的作用主要是为了高效的更新虚拟DOM。另外vue中在使用相同标签名元素的过渡切换时,也会使用到key属性,其目的也是为了让vue可以区分它们,否则vue只会替换其内部属性而不会触发过渡效果。
https://www.cnblogs.com/zhumingzhenhao/p/7688336.html
渐进式
根据需求增加插件,插件之间互相独立
MVVM
Model-View-ViewModel的简写
model代表数据
view代表视图,也就是浏览器页面
ViewModel是MVVM模式的核心,它是连接view和model的桥梁。它有两个方向:一是将model转化成view,即将数据转化成所看到的页面。实现的方式是:数据绑定。二是将view转化成model,即将所看到的页面转化成数据。实现的方式是:DOM 事件监听。这两个方向都实现的,我们称之为数据的双向绑定。
数据绑定
vue.js 则是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。