vue2和vue3响应式原理

1.vue2响应式(视频附带解决存在的问题,通过$set和vue的set、delete方法)

https://www.bilibili.com/video/BV1Zy4y1K7SH?p=145&spm_id_from=pageDriver&vd_source=ce8f93194a63c57cca08d7e9eb10d3e5

 2.vue3响应式原理

2.1代码实现

https://www.bilibili.com/video/BV1Zy4y1K7SH?p=146&spm_id_from=pageDriver&vd_source=ce8f93194a63c57cca08d7e9eb10d3e5

https://www.bilibili.com/video/BV1Zy4y1K7SH?p=147&spm_id_from=pageDriver&vd_source=ce8f93194a63c57cca08d7e9eb10d3e5

2.2原理:(响应式实现条件:1.实现同步数据修改2.捕获数据修改)

  2.2.1proxy--代理作用

    对代理的对象进行任何操作能够影响源对象 ,同理对源对象的操作也能够影响代理对象

    

            

 

 

   2.2.2使用get、set、deleteProperty实现数据修改捕获

  target:源对象   prop:要进行操作的属性   value:set操作时的最新值  

       

  2.2.3Reflect解析

  Reflect作用是反射对象,Reflect.get等同于对读取对象的属性obj.a;Reflect.set等同添加或修改对象属性的值obj.b=c;Reflect.deleProperty等同删除对象属性delete obj.d

  js是单线程遇到错误会直接挂机,Reflect兼容性更好,否则需要使用try catch捕获错误,实际效果与2.2.2作用相同

posted on 2022-12-26 09:46  ChoZ  阅读(42)  评论(0编辑  收藏  举报

导航