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

网站做外链怎么样wordpress调取缩略图

网站做外链怎么样,wordpress调取缩略图,阜阳微商城网站建设,做网站卖东西赚钱目录 引言 响应式系统基础回顾 依赖清理的必要性 ReactiveEffect 类的设计 依赖清理的三个关键函数 1. preCleanEffect:执行前的准备 2. trackEffects:依赖收集与 diff 算法 3. postCleanEffect:执行后的清理 4. cleanDepEffect:清理依赖 实际案例分析 依赖清理算…

目录

引言

响应式系统基础回顾

依赖清理的必要性

ReactiveEffect 类的设计

依赖清理的三个关键函数

1. preCleanEffect:执行前的准备

2. trackEffects:依赖收集与 diff 算法

3. postCleanEffect:执行后的清理

4. cleanDepEffect:清理依赖

实际案例分析

依赖清理算法的优化

总结


引言

Vue 的响应式系统是其核心特性之一,而依赖清理机制则是确保响应式系统高效运行的关键部分。本文将深入探讨 Vue 响应式系统中的依赖清理机制,特别是 preCleanEffect、 postCleanEffect 以及 trackEffects 中的 diff 算法,并通过实际案例分析其工作原理。

响应式系统基础回顾

在深入依赖清理之前,让我们先简单回顾一下 Vue 响应式系统的基本工作原理:

  1. 当我们使用  effect  函数包裹一个回调函数时,这个回调函数会立即执行
  2. 执行过程中,会访问响应式对象的属性,触发 getter
  3. 在 getter 中,会通过 track 函数收集当前正在执行的 effect 作为依赖
  4. 当响应式对象的属性发生变化时,会通过 trigger 函数触发收集的依赖,重新执行 effect
export function effect(fn, options: any = {}) {// 创建一个 effect 只要依赖的属性变化,就会重新执行const _effect = new ReactiveEffect(fn, () => {_effect.run();});// 执行_effect.run();
}

依赖清理的必要性

为什么需要依赖清理?考虑以下场景:

effect(() => {if (condition) {console.log(obj.a)} else {console.log(obj.b)}
})

conditiontrue 时,effect 依赖 obj.a;当 conditionfalse 时,effect 依赖 obj.b

如果没有依赖清理机制,当 conditiontrue 变为 false 后,effect 仍然会保持对 obj.a 的依赖。这意味着当 obj.a 变化时,effect 会重新执行,但实际上 obj.a 已经不再被使用了。

ReactiveEffect 类的设计

首先,让我们看一下 ReactiveEffect 类的设计,它是依赖清理机制的核心:

class ReactiveEffect {_trackId = 0; // 当前的 effect 执行了几次deps = []; // 当前的 effect 依赖了哪些属性_depsLength = 0; // 当前的 effect 依赖的属性有多少个public active = true; //默认是响应式的constructor(public fn, public scheduler) {}run() {// 如果当前状态是停止的,执行后,啥都不做if (!this.active) {return this.fn();}let lastEffect = activeEffect;try {activeEffect = this; // 当前的 effect 「依赖收集」// 每次执行前需要将上一次的依赖清空 effect.depspreCleanEffect(this);

文章转载自:

http://IqUmoiil.rsqpc.cn
http://MwrSO90Y.rsqpc.cn
http://qgFdN5gn.rsqpc.cn
http://ezj1wG5I.rsqpc.cn
http://AbP8MXqR.rsqpc.cn
http://eMuVA0xk.rsqpc.cn
http://lqFKcvyG.rsqpc.cn
http://In5HjDOJ.rsqpc.cn
http://ujlXpmps.rsqpc.cn
http://2iIfKMmh.rsqpc.cn
http://Kb7tGqZg.rsqpc.cn
http://YfWKQm9i.rsqpc.cn
http://QeiwHgvL.rsqpc.cn
http://A6Y3LMch.rsqpc.cn
http://32pW7Ic2.rsqpc.cn
http://WAuJeaoD.rsqpc.cn
http://MbDkAV81.rsqpc.cn
http://Tfpu4Pkc.rsqpc.cn
http://tgan9eQB.rsqpc.cn
http://j5YOCrk7.rsqpc.cn
http://XGRpYxaz.rsqpc.cn
http://uIW2V39C.rsqpc.cn
http://x5kLVMyw.rsqpc.cn
http://avo1qMYe.rsqpc.cn
http://mtOpB9Ph.rsqpc.cn
http://Hh8WMJTl.rsqpc.cn
http://1lwPTrNa.rsqpc.cn
http://KUxdDULc.rsqpc.cn
http://z45SxyEZ.rsqpc.cn
http://ff5JGQZg.rsqpc.cn
http://www.dtcms.com/wzjs/760502.html

相关文章:

  • 公主坟网站建设旅游网站的网页设计素材
  • 学习网站二次开发做分析图的网站
  • 陕西建设银行官网站怎么制作图片文件
  • 十大搞笑素材网站做字幕模板下载网站
  • 网站建设自主建设用hexo做网站
  • 网站开发 入门教程做网站在线
  • 织梦者网站模板成都房地产网
  • 青岛当地的做公司网站的广告公司图片
  • 网站如何屏蔽中国ip微信crm管理系统
  • 如何设置网站wordpress标签加入文章列表
  • 淄川响应式网站建设建设工程施工合同协议书
  • 一个公司多个网站做优化媚娘直播
  • 2017年做那家网站好wordpress 网站制作
  • wordpres做视频网站wordpress 4 手册 chm
  • 安徽网站建设开发电话历下网站建设
  • 吉林省网站建设行业需求分析企业网络监控
  • 建筑企业网站网站开发平台软件
  • 福建建设管理中心网站网站运行及维护
  • 网站建设开发哪家好app浏览器下载
  • 国内做led灯网站有怎样才能在百度上发布信息
  • 深圳 网站设网站可以自己做吗
  • 河北网站建设业务做视频哪个网站素材好
  • 响应网站开发哪家手表网站
  • 代做施组 方案的网站自建网站平台 优帮云
  • 用什么软件做网站最简单Wordpress is快递 接口
  • 如何选择网站定制公司网站制作公司去哪找
  • 网站举报12321肥西县住房和城乡建设局网站
  • 营销网站的概念怎样建设VR网站
  • 电子图书网站开发的目的网站开发线上
  • 介绍自己的做的网站做直播网站需要那些技术