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

市城乡规划建设局网站seo搜索引擎优化内容

市城乡规划建设局网站,seo搜索引擎优化内容,网站自助建设平台有哪些,网站建设选信达互联主要是在使用过程中经常出现非预期情况,基本都是对其响应式原理不是理解的很透彻。 先看下网络上查找到一些资料都不是很直观,具体使用时还是懵懵懂懂。 什么是响应式? 当依赖数据发生改变时,与之关联的数据或计算结果能够自动…

主要是在使用过程中经常出现非预期情况,基本都是对其响应式原理不是理解的很透彻。

先看下网络上查找到一些资料都不是很直观,具体使用时还是懵懵懂懂。

什么是响应式?

当依赖数据发生改变时,与之关联的数据或计算结果能够自动更新就是响应式。

我现在的理解是,响应式对象 = 代理 + 触发器。

vue3 中响应式对象主要分为ref、reactive、computed、props四种类型。

特性refreactivecomputedprops
用途包装基本类型(如 numberstring 等)包装对象或数组基于响应式数据计算得出新值父组件向子组件传递数据
返回值类型返回一个 ref 对象(包含 .value 属性)返回一个响应式代理对象返回一个只读的 ref 对象普通对象(经过 Vue 代理,具有响应性)
是否可写可写(通过 .value 修改)可写(直接修改属性)默认只读(可通过 get/set 实现可写)只读(不能直接修改)
是否需要 .value需要(在 JS 中)不需要需要(在 JS 中)不需要
模板中使用自动解包,不需要 .value直接访问属性自动解包,不需要 .value直接访问属性
响应性来源通过 .value 触发响应式更新直接通过属性访问触发响应式更新基于依赖的响应式数据自动更新继承父组件传递的响应式数据
适用场景基本类型数据、单个值对象或数组需要动态计算的属性父组件向子组件传递数据
示例const count = ref(0);const state = reactive({ count: 0 });const double = computed(() => count.value * 2);props: { count: Number }

一个对象有且仅有2个功能,1.读取;2修改;所以只要把这2个功能使用情况分析清楚就明白到底什么时候响应式对象了。

1.读取功能

响应式对象读取的是一个代理对象,普通对象读取的就是实际的真实对象。如果只是取值的话,通过代理读取对象和直接读取对象,其实是一样的效果。

这里主要注意:

1.1 读取数据时是否需要.value。具体参照上面表格对照。

1.2 读取返回值对象类型。是代理对象还是真实对象。具体参照上面表格对照。

1.3 依赖收集(Track)

在访问响应式数据时,Vue 会通过 依赖收集 来记录哪些地方(如组件、计算属性、侦听器等)依赖了这些数据。

  • 触发时机:当访问响应式数据的属性时。

  • 作用:记录当前正在运行的副作用(如 effectcomputedwatch 等)。

  • 示例

    const state = reactive({ count: 0 });effect(() => {console.log(state.count); // 访问 state.count,触发依赖收集
    });

2.修改功能

此时,代理对象的作用就体现了。修改数据时,如果是直接通过真实对象引用修改数据,则不会触发相关触发器,执行一系列任务。但是代理对象就可以。vue3的代理对象中有绑定一些触发器函数,通过代理对象修改数据时,会调用相关触发器,执行一些任务,如渲染DOM、触发监听器钩子函数等。

所以,要理解响应式对象的修改功能,就是要了解修改后,vue3实现了哪些触发器(钩子函数)。

2.1. 组件渲染更新

当响应式数据变化时,Vue 会触发组件的重新渲染。最常见的就是v-model绑定。

  • 触发时机:当组件依赖的响应式数据变化时。

  • 作用:更新组件的视图。

  • 示例

    <template><div>{{ count }}</div>
    </template><script>
    import { ref } from 'vue';export default {setup() {const count = ref(0);return { count };}
    };
    </script>


2.2. 计算属性更新

计算属性是基于响应式数据动态计算得出的值。当依赖的响应式数据变化时,计算属性会重新计算。

  • 触发时机:当计算属性依赖的响应式数据变化时。

  • 作用:重新计算计算属性的值。

  • 示例

    const doubleCount = computed(() => count.value * 2);count.value++; // 触发 doubleCount 重新计算


2.3. 侦听器(Watch)触发

侦听器用于监听响应式数据的变化,并在变化时执行回调函数。

  • 触发时机:当侦听的响应式数据变化时。

  • 作用:执行回调函数。

  • 示例

    watch(count, (newValue, oldValue) => {console.log('Count changed:', newValue);
    });count.value++; // 触发 watch 回调


2.4. 生命周期钩子

当响应式数据变化导致组件重新渲染时,Vue 会触发相关的生命周期钩子。

  • 触发时机:组件更新时。

  • 作用:执行生命周期钩子逻辑。

  • 示例

    onUpdated(() => {console.log('组件已更新');
    });

当响应式数据变化时,Vue 3 会触发以下机制:

触发器触发时机作用
组件渲染更新组件依赖的响应式数据变化时重新渲染组件
计算属性更新计算属性依赖的响应式数据变化时重新计算计算属性的值
侦听器(Watch)触发侦听的响应式数据变化时执行侦听器回调函数
生命周期钩子组件更新时执行生命周期钩子逻辑

总结

使用vue3的响应式对象时,弄清楚对象类型,那种响应式类型(即代理类型),对应有哪些触发器。

http://www.dtcms.com/a/610088.html

相关文章:

  • 2025_11_14洛谷【入门1】数据结构刷题小结
  • wordpress打赏链接网站建设 小影seo
  • 哪个网站能学做微商上海建设网站是多少
  • 第34节:反向运动学与角色动画自然化
  • Virtual Ontology:基于语义层的自然语言SQL生成系统技术深度解析
  • Django过时了吗?从ASGI到AI时代的思考
  • 网站建设需求和页面需求怎么提5m带宽做视频网站
  • 图论专题(六):“隐式图”的登场!DFS/BFS 攻克「岛屿数量」
  • 当Rokid遇见BOLON,科技与时尚的这次握手重新定义“眼镜”
  • 图论专题(五):图遍历的“终极考验”——深度「克隆图」
  • 商业网站策划书模板范文asp 网站发布器
  • STM32WB55官方OTA例程
  • [Column] How Databricks Implemented Intelligent K8s Load Balancing
  • 网站建设好多钱菏泽郓城网站建设
  • 做互联网营销一般上什么网站cms系统都有哪些
  • 【算法】回溯算法精讲:从深度优先搜索到剪枝优化​
  • C语言知识体系梳理-第一篇
  • 克隆网站怎么做长沙网站建设公司名单
  • 【ASP.NET进阶】Controller 层基础:从 MVC 5 到 Core,继承的奥秘与避坑指南
  • PyTorch深度学习进阶(四)(数据增广)
  • 股指期货豁免开通条件是什么?
  • 上传模型/数据集到huggingface的三种方法
  • 33_FastMCP 2.x 中文文档之FastMCP客户端核心业务:提示模板详解
  • wordpress插件访客亚马逊seo推广
  • Juc篇-线程安全问题引入(从i++问题的底层出发)
  • Arbess V2.1.7版本发布,新增任务AliYun OSS上传、下载功能,新增流水线评审功能
  • 算法基础篇:(八)贪心算法之简单贪心:从直觉到逻辑的实战指南
  • 昊源建设监理有限公司网站外贸网站代码
  • 大专生就业:学历限制的现实考量与能力突围路径
  • Node.js 与 Docker 深度整合:轻松部署与管理 Node.js 应用