时间:2021-05-18
一、响应式的底层实现
1、Vue与MVVM
Vue是一个 MVVM框架,其各层的对应关系如下
在 Model 层的数据变化时,View层会在ViewModel的作用下,实现自动更新
2、Vue的响应式原理
Vue响应式底层实现方法是 Object.defineProperty() 方法,该方法中存在一个getter和setter的可选项,可以对属性值的获取和设置造成影响
Vue中编写了一个wather来处理数据
在使用getter方法时,总会通知wather实例对view层渲染页面
同样的,在使用setter方法时,总会在变更值的同时,通知wather实例对view层进行更新
3、响应式原理与兼容
由于 Object.defineProperty() 方法只部分支持IE9,所以Vue兼容IE版本最低为IE9,在IE9中,Vue的核心框架、vue-router、vuex是确保可以正常使用的
4、响应式原理示意图
1、在实例前声明
在实例前声明的属性会在实例时添加 getter()、setter() 方法,因此此时的name是响应式的,每当name变化时,会自动更新视图
2、在实例后添加
vm.name = "failte"
由于data中没有该属性,因此实例后,此时的name是非响应式的,name变化时,不会更新视图
若需要转换为响应式数据,需要使用 Vue.set() 方法手动添加为响应式属性
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
这篇文章主要是给不了解或者没接触过vue响应式源码的小伙伴们看的,其主要目的在于能对vue的响应式原理有个基本的认识和了解,如果在面试中被问到此类问题,能够知道
红河网站建设浅谈响应式网站建设的几种布局类型是什么?响应式设计已成为当前网站建设的标准技术,无论是根据设备需求还是用户需求,响应式网站都很受欢迎,可以给用户
vue官网关于此解释说明如下:vue2.0里面的深入响应式原理的异步更新队列官网说明如下:只要观察到数据变化,Vue将开启一个队列,并缓冲在同一事件循环中发生的
深入响应式原理大部分的基础内容我们已经讲到了,现在讲点底层内容。Vue.js最显著的一个功能是响应系统——模型只是普通对象,修改它则更新视图。这让状态管理非常简
分析vue是如何实现数据改变更新视图的.前记三个月前看了vue源码来分析如何做到响应式数据的,文章名字叫vue源码之响应式数据,最后分析到,数据变化后会调用Wa