当前位置: 首页 > wzjs >正文

网站授权协议学前心理学课程建设网站

网站授权协议,学前心理学课程建设网站,北京王府井步行街,网站设计案例方案vue2的响应式原理 属性描述符,也就是对对象的属性进行劫持 通过 get收集依赖(收集使用该数据的组件),set 派发更新(通知依赖的组件重新渲染) 依赖收集:每个组件实例对应一个 watcher对象&#…

vue2的响应式原理

  1. 属性描述符,也就是对对象的属性进行劫持
  • 通过 get收集依赖(收集使用该数据的组件),set 派发更新(通知依赖的组件重新渲染)

    • 依赖收集:每个组件实例对应一个 watcher对象,当组件渲染访问数据时,会触发属性的getter,将当前的watcher添加到依赖列表中(dep)
    • 派发更新: 当数据变化时触发setter,Dep会通知所关联的watcher重新计算从而触发组件重新渲染
  • 注意:数组的响应式 是通过重写数组的方法(push、pop、splice)来实现对数组变化的监听,因为这些方法无法通过 object.defineProperty直接监听的

Object.defineProperty(obj,'a',{value:10,writable:false,// 不可重写enumerable:false,// 不可遍历configurable:false,// 不可修改值本身
})// vue 响应式简化版实现
function defineReactive(obj, key, val) {const dep = new Dep();Object.defineProperty(obj, key, {get() {if (Dep.target) { // Dep.target 是当前 Watcherdep.addSub(Dep.target); // 收集依赖}return val;},set(newVal) {val = newVal;dep.notify(); // 通知所有 Watcher 更新},});
}

vue3的响应式原理

  • vue 3 使用Proxy代替 Object.defineProperty, 解决了vue2的局限性,(如无法检查对象属性的新增和删除,数组索引的直接赋值等)提高了性能
    • Proxy he reflect 的区别

      • Proxy:可以拦截对象的整个操作(读写,增删)
      • reflect 只能操作对象
    • 响应式API : reactive 和 ref

      • reactive(obj):将普通对象转换为响应式对象(通过 Proxy 代理)
      • ref(value):将基本类型值包装为响应式对象(通过 .value 访问)
    • 依赖和收集

      • track: 再getter中追踪依赖(类似vue2的dep)
      • trigger: 在setter 中触发依赖
// 简化版实现
function reactive(obj) {return new Proxy(obj, {get(target, key, receiver) {track(target, key); // 收集依赖return Reflect.get(target, key, receiver);},set(target, key, value, receiver) {Reflect.set(target, key, value, receiver);trigger(target, key); // 触发更新return true;},});
}

‌Vue 2 vs. Vue 3 响应式对比

‌特性Vue 2 (Object.defineProperty)‌Vue 3 (Proxy)
对象属性监听需要遍历属性递归劫持直接代理整个对象
数组监听重写数组方法直接监听索引变化
新增/删除属性需手动调用 Vue.set/Vue.delete自动支持
性能递归劫持有性能损耗惰性劫持,按需触发

在这里插入图片描述

http://www.dtcms.com/wzjs/578682.html

相关文章:

  • 链接制作北京网站seowyhseo
  • 企业建站团队怎样创建网站流程
  • 徐州市制作网站wordpress特效-页面加载动画圆圈
  • wordpress微信站360网站seo
  • wordpress占用内存居高不下开源seo软件
  • 安徽智能网站建设制作wordpress设置登录和跳转到主页
  • 上海网站设计公司网站建设与管理做什么
  • 有没有做网站的公司网站实现隶书繁体
  • 23456网址大全优化大师最新版本
  • rp网站自动跳转图片怎么做西安网站设计制作一般多少钱
  • 营销型网站的缺点谷歌引擎搜索入口
  • 网站备案一般要多久网络营销与网站推广的区别
  • 关于文化的网站模板新的网站做淘宝客
  • 专业的网站开发团队用自己的电脑做网站服务器
  • 广东专注网站建设企业vi设计概念
  • 推广网站有什么方法导航网源码
  • 专做宝宝的用品网站公司网站建设费怎么写分录
  • 售房网站模板wordpress要求配置
  • 做公司网站公司无人机网站建设
  • 高唐做网站电影聚合网站开发
  • 昆明小程序开发联系方式做seo推广公司网站
  • 快速域名网站备案上海模板网站制作多少钱
  • 万网网站购买东莞网络营销价格咨询
  • 河北省电力建设第二工程公司网站域名查询138
  • 深圳航空公司官方网站wordpress ftp 设置
  • 济南网站建设外包公司做高清图的网站
  • 用php做网站视频如何搞好网站建设
  • 网站和微信同步建设网站互动优化
  • 网络培训心得体会总结上海网站建设seo站霸网络
  • ip做网站地址建站教程流程图