Vuejs的学习笔记1---------响应式原理

来源:互联网 发布:网络110报警平台官网 编辑:程序博客网 时间:2024/06/05 15:06

Vuejs采用的基于依赖收集的观测机制


       1 将原生的数据改造成可观测对象,一个可观测的对象可以被取值,也可以被赋值

       2 在watcher的求值过程中,每一个被取值的可观测对象都会将当前的watcher注册为自己的一个订阅者,并成为当前watcher的一个依赖。

       3 当一个被依赖的可观察对象被赋值时,它会通知所有订阅自己的watcher重新求值,并触发相应的更新。


 Vuejs利用了ES5的object.defineProperty方法,直接将原生数据的对象的属性改造成getter和setter。(这是ES5的特性,所以Vue不支持IE8及以下版本的原因)。在这两个函数里面实现依赖的收集和触发,而且完美的支持嵌套的对象结构。对于数组,则通过包裹数据的可变的方法来监听数组的变化。使得vuejs的数据和操作原生的对象几乎没有区别。


      1  Vue在初始化实例时将属性转化成getter/setter。 所以属性必须在data对象上才能让Vue转换它,这样才能让她响应

      

         

        2 受现代js的限制Vue不能检测对象属性的添加或者删除


         

       页面并不会因为delete 显示为undefined

        3  实例创建后要添加响应属性的方法可以用$set

      

0 0
原创粉丝点击