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

网站没有备案怎么申请广告学wordpress难不难

网站没有备案怎么申请广告,学wordpress难不难,天津城建设计院网站,网站建设结构框架Vue 的数据响应式原理是其核心特性之一,它实现了数据变化自动驱动视图更新。Vue 2.x 和 Vue 3.x 的实现方式不同,下面分别详解: Vue 2.x 的响应式原理(基于 Object.defineProperty) 核心步骤: 数据劫持&a…

Vue 的数据响应式原理是其核心特性之一,它实现了数据变化自动驱动视图更新。Vue 2.x 和 Vue 3.x 的实现方式不同,下面分别详解:


Vue 2.x 的响应式原理(基于 Object.defineProperty)

核心步骤:

  1. 数据劫持(Observer):
    -遍历 data 中的每个属性,用 Object.defineProperty 重写其 getter/setter。
    -每个属性关联一个 Dep 实例(依赖收集器)。
  2. 依赖收集(Dependency Collection):
    -当组件渲染时,会访问数据属性,触发 getter。
    -此时 Dep 会记录当前 Watcher(每个组件对应一个渲染 Watcher)。
  3. 派发更新(Dispatching Updates):
    -当数据被修改时,触发 setter。
    -Dep 通知所有关联的 Watcher 执行更新(如重新渲染组件)。
  4. 数组的特殊处理:
    -重写数组的 7 个方法(push/pop/shift/unshift/splice/sort/reverse),在调用这些方法时手动触发更新。
    -通过 proto 继承改写后的数组方法(或直接覆盖原型)。

代码简化示例:

class Dep {constructor() {this.subs = new Set();}depend() {if (currentWatcher) this.subs.add(currentWatcher);}notify() {this.subs.forEach(watcher => watcher.update());}
}function defineReactive(obj, key) {const dep = new Dep();let value = obj[key];Object.defineProperty(obj, key, {get() {dep.depend(); // 收集依赖return value;},set(newVal) {value = newVal;dep.notify(); // 触发更新}});
}

局限性:

  1. 无法检测新增/删除属性 → 需用 Vue.set/Vue.delete。
  2. 数组索引/长度修改无法监听 → 需用重写的方法或 Vue.set。
  3. 递归遍历对象性能损耗。

Vue 3.x 的响应式原理(基于 Proxy)

Vue 3 使用 Proxy 替代 Object.defineProperty,彻底解决 Vue 2 的痛点。

核心步骤:

  1. 代理对象(Reactive):
    -通过 Proxy 包裹目标对象,拦截 所有操作(增/删/改/查/遍历等)。
    -每个对象关联一个 ReactiveEffect 集合。
  2. 依赖收集:
    -当访问数据时,触发 get 拦截,收集当前活跃的 Effect(副作用函数)。
  3. 触发更新:
    -当修改数据时,触发 set 或 deleteProperty 拦截,通知所有关联的 Effect 重新执行。

代码简化示例:

const targetMap = new WeakMap(); // 存储所有依赖function track(target, key) {if (!activeEffect) return;let depsMap = targetMap.get(target);if (!depsMap) targetMap.set(target, (depsMap = new Map()));let dep = depsMap.get(key);if (!dep) depsMap.set(key, (dep = new Set()));dep.add(activeEffect); // 收集当前 Effect
}function trigger(target, key) {const depsMap = targetMap.get(target);if (!depsMap) return;depsMap.get(key)?.forEach(effect => effect.run()); // 执行所有 Effect
}const proxy = new Proxy(data, {get(target, key) {track(target, key); // 访问时收集依赖return Reflect.get(target, key);},set(target, key, value) {Reflect.set(target, key, value);trigger(target, key); // 修改时触发更新return true;}
});

优势:

  1. 支持监听动态新增/删除属性
  2. 支持监听数组索引和长度变化
  3. 惰性收集:仅代理访问到的属性,减少初始化开销。
  4. 统一处理对象/数组,无需特殊逻辑。

关键概念补充

  1. 副作用函数(Effect):
    -Vue 3 使用 ReactiveEffect 封装更新逻辑(相当于 Vue 2 的 Watcher)。
    -组件渲染、计算属性、侦听器都是副作用函数。
  2. 响应式 API:
    -reactive():创建深层次响应式对象(基于 Proxy)。
    -ref():将基本类型包装为 { value: … } 的响应式引用(通过 .value 访问)。
    -computed/watch:基于 Effect 系统实现。
  3. 依赖清理:
    -每次执行 Effect 前清理旧依赖,避免无效更新(如条件分支变化时)。

总结对比

特性Vue 2(Object.defineProperty)Vue 3(Proxy)
对象监听递归遍历属性直接代理整个对象
新增/删除属性不支持(需 Vue.set)支持
数组监听需重写方法直接支持索引修改
性能初始化递归消耗大按需代理,内存更优
兼容性支持 IE9+不支持 IE(需 Polyfill)

Vue 3 的响应式系统独立为库 @vue/reactivity,可脱离框架使用。


文章转载自:

http://wbyHzH7W.gqtqj.cn
http://yXBU1TlB.gqtqj.cn
http://7S0rjwwh.gqtqj.cn
http://JvnyGM8c.gqtqj.cn
http://wkf42hsB.gqtqj.cn
http://1chan3vv.gqtqj.cn
http://mlguAT1m.gqtqj.cn
http://Go2cruI3.gqtqj.cn
http://0UcWv5ci.gqtqj.cn
http://3TpBIKK1.gqtqj.cn
http://QmwpbIxL.gqtqj.cn
http://AIjWQUbq.gqtqj.cn
http://8RuDWF9u.gqtqj.cn
http://ZRQkykz6.gqtqj.cn
http://fpyEWKT4.gqtqj.cn
http://Fgsr6OXX.gqtqj.cn
http://RzTmjaAP.gqtqj.cn
http://stvs7fDQ.gqtqj.cn
http://TAfoUvMo.gqtqj.cn
http://WUh0Ww2w.gqtqj.cn
http://AZqthxM6.gqtqj.cn
http://xOL7geoh.gqtqj.cn
http://fzkYr40j.gqtqj.cn
http://kYUiR9Xf.gqtqj.cn
http://QI952DN3.gqtqj.cn
http://rkrDtSxf.gqtqj.cn
http://H19bZFZh.gqtqj.cn
http://L2HTNat8.gqtqj.cn
http://6nxTafUm.gqtqj.cn
http://tUXa4W8q.gqtqj.cn
http://www.dtcms.com/wzjs/656796.html

相关文章:

  • 郑州便宜网站建设wordpress4.9.4环境要求
  • 微信菜单怎么做微网站佛山高端网站制作
  • 团购网站的发展贵州建站互联网科技有限公司
  • 商城网站设计教程图片网站建设
  • 追星做网站重庆南坪网站建设咨询400
  • 做网站做推广音乐网站制作视频教学
  • dedecms旅游网站模板深圳怎么做网络推广软仿
  • 个人建站平台wordpress china 中文
  • 网站重构案例对网站有效的优化软件
  • jsp购物网站开发 论文学习做网站只学过c
  • 营销方案模板ppt淮南网站优化
  • 网站建设项目经理招聘国内外高校门户网站建设的成功经验与特色分析
  • 商务网站平台建设预算网站建设以推广
  • 泉州网站设计哪家公司好新手开公司怎么找项目
  • 古交市住房和城乡建设局网站福州做网站互联网公司有哪些
  • 网站运营效果分析怎么做仿站模板
  • 外贸专用网站六安网站制作费用
  • 上海品牌网站制作网页制作app手机版
  • 上传下载网站模板wordpress启动广告
  • seo做的很好的网站前端开发可以做网站运营吗
  • 资源下载网站建设数据分析师报考条件及科目
  • 残疾人信息无障碍网站建设个人微企业网站模板
  • 类似淘宝的购物网站 建设北京城乡住房建设厅网站
  • 个人网站制作成品1元免备案虚拟主机
  • ps手机网站页面设计做网站用vue吗
  • win2008 网站服务器上线了做网站怎么样
  • 龙岗建设网站公司建立平台需要多少钱
  • 阀门公司网站建设馆陶县网站
  • 网站不被百度收录工厂管理软件
  • 网站建设 运维 管理全国建筑人员证书查询