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

金方时代做网站怎么样百度指数什么意思

金方时代做网站怎么样,百度指数什么意思,公益网站建设,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://www.dtcms.com/wzjs/512885.html

相关文章:

  • 品牌网站模板搜索引擎优化不包括
  • 外贸网站违反谷歌规则中国十大企业培训机构排名
  • 用什么软件做网站最简单 最方便做销售最挣钱的10个行业
  • 花钱也可以哪些网站可以做推广广告网站怎么快速收录
  • 在龙港网站哪里做公司网站优化方案
  • 杭州富阳区网站建设公司seo关键词排名查询
  • 个人网站建设制作推广引流吸引人的文案
  • 网站留言板html模板安卓优化大师手机版
  • 采集网站如何收录哪里有培训班
  • html5 微网站 源码广东企业网站seo报价
  • 做网站销售工资网站建设 全网营销
  • 做网站要花多少钱网络营销的四种方式
  • 为您打造高端品牌网站html网页制作用什么软件
  • 我想做一个网站怎么做网站怎么优化自己免费
  • 六安招聘网官网贵州seo培训
  • 建设一个网站花多少钱城市分站seo
  • 花茶网站设计郑州seo代理商
  • 免费企业黄页网站入口seo谷歌外贸推广
  • apk打包工具seo自然优化排名
  • 对门户网站建设情况的报告系统优化大师下载
  • wordpress 支持手机西安seo王
  • 宁波市网站建设seo快速优化软件
  • 做网站第三方登录怎么弄千度seo
  • wordpress创建子主题seo标签怎么优化
  • 搞一个网站花多少钱网络推广长沙网络推广
  • 专注做一家男生最爱的网站百度搜索引擎优化详解
  • 公司网站制作公今日热搜
  • 域名备案不是网站公司做的江北seo页面优化公司
  • 上饶做网络营销推广搜索引擎seo外包
  • 黑马程序员培训靠谱吗网站优化外包