iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >关于vue组件的更新机制 resize() callResize()
  • 753
分享到

关于vue组件的更新机制 resize() callResize()

2024-04-02 19:04:59 753人浏览 独家记忆
摘要

目录组件的更新机制 resize() callResize()异步更新机制是如何实现的组件的更新机制 resize() callResize() 假设有一段代码,通过isCollap

组件的更新机制 resize() callResize()

假设有一段代码,通过isCollapse改变触发ref的子组件child触发方法resize(),借着触发callResize()方法。

这是vue组件的更新机制。

子组件是child,父组件是整个界面 ,在父组件上任意触发监听,调用方法resize();

resize()调用callResize(),callResize()把下面的3个方法的resize()一次调用。

循环遍历  父触发,父亲告诉子 resize  子告诉孙 resize。没有孙子,就调用停止。

想一个树形结构,导航菜单,点击导航菜单,切换对应界面。保证每个节点都跟着刷新。

就是说,父组件更新了,它的子组件,孙组件都要更新。子组件变化了,它引用的所有组件都要更新。

举个例子

当GlobalHeader中的loGo属性发生变化,那么第二张图的这些组件都要更新。

异步更新机制是如何实现的

Vue的异步更新机制的核心是利用了浏览器的异步任务队列来实现的,首选微任务队列,宏任务队列次之。

当响应式数据更新后,会调用 dep.notify 方法,通知 dep 中收集的 watcher 去执行 update方法,watcher.update 将 watcher 自己放入一个 watcher 队列(全局的 queue 数组)。

然后通过 nextTick 方法将一个刷新 watcher 队列的方法(flushSchedulerQueue)放入一个全局的callbacks 数组中。

如果此时浏览器的异步任务队列中没有一个叫 flushCallbacks 的函数,则执行 timerFunc 函数,将 flushCallbacks 函数放入异步任务队列。如果异步任务队列中已经存在 flushCallbacks 函数,等待其执行完成以后再放入下一个 flushCallbacks 函数。 flushCallbacks 函数负责执行 callbacks数组中的所有 flushSchedulerQueue 函数。

flushSchedulerQueue 函数负责刷新 watcher 队列,即执行 queue 数组中每一个 watcher 的 run 方法,从而进入更新阶段,比如执行组件更新函数或者执行用户 watch 的回调函数。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: 关于vue组件的更新机制 resize() callResize()

本文链接: https://www.lsjlt.com/news/146440.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 关于vue组件的更新机制 resize() callResize()
    目录组件的更新机制 resize() callResize()异步更新机制是如何实现的组件的更新机制 resize() callResize() 假设有一段代码,通过isCollap...
    99+
    2024-04-02
  • vue关于this.$refs.tabs.refreshs()刷新组件方式
    目录this.$refs.tabs.refreshs()刷新组件第一种:当前组件刷新第二种:刷新父组件时第三种:非关系组件vue组件重新加载(刷新)如何刷新当前组件this.$ref...
    99+
    2024-04-02
  • 关于Vue的异步组件
    基本用法​ 在大型项目中,我们可能需要拆分应用为更小的块,并仅在需要时再从服务器加载相关组件。Vue 提供了defineAsyncComponent方法来实现此功能: import ...
    99+
    2023-05-17
    Vue异步 Vue组件
  • 关于vue父组件调用子组件的方法
    组件 (Component) 是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装可重用的代码。在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功...
    99+
    2024-04-02
  • Vue中关于重新渲染组件的方法及总结
    目录重新渲染组件的方法总结重新加载整个页面使用forceUpdate总结重新渲染组件的方法总结 有时Vue的反应性系统还不够,您只需要重新渲染组件即可。 重新渲染组件有以下...
    99+
    2022-12-03
    Vue重新渲染组件 Vue重新渲染 Vue渲染组件
  • vue组件值变化但不刷新强制组件刷新的问题
    目录组件值变化但不刷新强制组件刷新bug复现解决强制刷新vue组件问题解决 – 强制刷新组件组件值变化但不刷新强制组件刷新 在调用组件的时候,如果数据中只是某个属性变化(...
    99+
    2024-04-02
  • Vue3组件异步更新和nextTick运行机制是什么
    这篇文章主要讲解了“Vue3组件异步更新和nextTick运行机制是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue3组件异步更新和nextTick运行机制是什么”吧!组件的异步更新...
    99+
    2023-07-06
  • 关于Vue组件间的常用传参方式
    目录组件间常用传参方式1. props、emit(最常用的父子通讯方式)2. 事件总线EventBus(常用任意两个组件之间的通讯)3.Vuex状态管理vue组件传参记录几个不太常用...
    99+
    2024-04-02
  • 基于Vue中点击组件外关闭组件的示例分析
    这篇文章主要为大家展示了“基于Vue中点击组件外关闭组件的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“基于Vue中点击组件外关闭组件的示例分析”这篇文...
    99+
    2024-04-02
  • JavaScript 关于事件循环机制的刨析
    目录前言:一、事件循环和任务队列产生的原因:二、事件循环机制:三、任务队列:3.1 任务队列的类型:3.2 两者区别:3.3 更细致的事件循环过程四、强大的异步专家 process....
    99+
    2024-04-02
  • 关于js的事件循环机制剖析
    前言 众所周知, JavaScript是单线程这一核心,可是浏览器又能很好的处理异步请求,那么到底是为什么呢?其中的原理与事件循环机制大有关系。 在探索事件循环之前,我们得先了解浏览...
    99+
    2024-04-02
  • Vue子组件更新props中的属性值问题
    目录Vue子组件更新props的属性值.sync属性v-model应用Vue子组件中修改Props的几种情况针对以上几种情况再逐一进行分析结果展示结论Vue子组件更新props的属性...
    99+
    2022-11-13
    Vue子组件 更新props属性值 Vue props属性值
  • Vue3组件异步更新和nextTick运行机制源码分析
    这篇文章主要介绍了Vue3组件异步更新和nextTick运行机制源码分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue3组件异步更新和nextTick运行机制源码分析文章都会有所收获,下面我们一起来看看吧...
    99+
    2023-07-05
  • vue父组件数据更新子组件相关内容未改变问题怎么解决
    这篇文章主要介绍“vue父组件数据更新子组件相关内容未改变问题怎么解决”,在日常操作中,相信很多人在vue父组件数据更新子组件相关内容未改变问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue父组...
    99+
    2023-06-29
  • vue父组件数据更新子组件相关内容未改变问题(用watch解决)
    父组件数据更新子组件相关内容未改变 父组件 在父组件中,根据后台给的数据(数组),v-for生成子组件    <div class="exist">           ...
    99+
    2024-04-02
  • 揭秘 VUE 插槽:让组件更灵活的关键
    Vue.js 中的插槽是一种强大的工具,它允许开发者在组件中创建动态内容区域。通过使用插槽,开发者可以将组件的某些部分留空,并在其他地方填充这些部分。这使得组件更加灵活,更容易组合使用。 插槽的使用非常简单。首先,在组件模板中定义插槽。...
    99+
    2024-02-22
    Vue 插槽 组件 灵活性 动态内容 代码重复
  • 揭秘 VUE 异步组件的幕后机制
    工作原理 异步组件的实现涉及以下步骤: 定义异步组件:创建一个组件类,将其component选项设置为一个函数。在这个函数中,使用async或Promise语法加载组件的实际实现。 加载组件:当异步组件首次渲染时,Vue 会调用comp...
    99+
    2024-04-02
  • Vue异步更新机制和nextTick的原理是什么
    本篇内容介绍了“Vue异步更新机制和nextTick的原理是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所...
    99+
    2024-04-02
  • Vue组件更新数据v-model不生效的解决
    目录组件更新数据v-model不生效问题描述原因分析方法一方法二方法三v-model失效的问题解决办法组件更新数据v-model不生效 问题描述 在使用Vue双向绑定(v-model...
    99+
    2024-04-02
  • Vue异步更新机制及$nextTick原理的深入讲解
    目录前言Vue的异步更新DOM更新是异步的DOM更新还是批量的事件循环执行过程源码深入异步更新队列nextTick$nextTick总结一般更新DOM是同步的既然更新DOM是个同步的...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作