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

公司的网站建设费用算什么费用怎么做关键词排名靠前

公司的网站建设费用算什么费用,怎么做关键词排名靠前,网站建设的电话回访,沧州网站建设培训深度监听 ref 和 reactive 的区别详解 一、ref 的深度监听(示例代码)关键点:1. ref 的存储方式:2. 监听 ref 的特性 二、reactive 的深度监听(示例代码)关键点:1. reactive 的深度响应性2. 监听…

深度监听 ref 和 reactive 的区别详解

    • 一、ref 的深度监听(示例代码)
      • 关键点:
        • 1. ref 的存储方式:
        • 2. 监听 ref 的特性
    • 二、reactive 的深度监听(示例代码)
      • 关键点:
        • 1. reactive 的深度响应性
        • 2. 监听 reactive 的特性
    • 三、核心区别总结
    • 四、最佳实践建议
      • 1. 优先使用 reactive
      • 2. 明确 ref 的使用场景
      • 3. 简化 watch 配置


以下从响应式原理、监听方式和实际表现三个维度,分析二者的核心区别:

一、ref 的深度监听(示例代码)

<template><div class="person"><p>嵌套值:{{ refObj.nested.value }}</p><button @click="refObj.nested.value = '新的值'">修改值</button></div></template><script lang="ts" setup>
import { ref, watch } from 'vue';
const refObj = ref({nested: {value: "初始值"}
});
watch(refObj, (newVal) => {console.log("ref 嵌套变化:", newVal.nested.value);
}, { deep: true }); // 必须显式设置 deep: truewatch(refObj.value, (newVal) => {console.log("ref 嵌套变化:", newVal.nested.value);
}); // 若改为监听refObj.value(即 reactive 对象),则无需 deep</script>

关键点:

1. ref 的存储方式:

ref 会将对象包裹在 .value 属性中,底层自动用 reactive 转换嵌套对象。(即 refObj.value 是 reactive 代理对象)

2. 监听 ref 的特性
  • 直接监听 refObj(而非 .value)时,需要显式设置 deep: true 才能捕获嵌套属性变化。若不设置 deep,仅当整个 .value 被替换时才会触发监听。
  • 等价替代方案
    若改为监听 refObj.value(即 reactive 对象),则无需 deep:

二、reactive 的深度监听(示例代码)

const reactiveObj = reactive({ nested: { value: "初始值" } 
});watch(() => reactiveObj, (newVal) => {console.log("reactive 嵌套变化:", newVal.nested.value);
}, { deep: true }); // deep:true 在此处是冗余的

关键点:

1. reactive 的深度响应性

reactive 创建的代理对象默认支持深层级响应,修改任意嵌套属性都会触发更新。

2. 监听 reactive 的特性
  • 直接监听 reactiveObj 时,无需 deep 即可自动深度监听。
    示例代码中的 () => reactiveObj 是冗余写法,直接传递 reactiveObj 即可:
watch(reactiveObj, (newVal) => {console.log("reactiveObj 嵌套变化:", newVal.nested.value);
}); // 直接监听 reactiveObj 时,无需 deep 即可自动深度监听
  • 若监听一个返回 reactive 对象的函数(如 () => reactiveObj),需开启深度监听:{deep:true}
watch(()=>reactiveObj, (newVal) => {console.log("reactiveObj 嵌套变化:", newVal.nested.value);
},{deep:true}); // 监听一个返回reactive对象的函数,deep:true 开启深度监听
  • 若监听 reactiveObj.nested.value 时,需使用函数式写法()=>reactiveObj.nested.value,无需开启深度监听。
watch(()=>reactiveObj.nested.value,(newVal,oldVal)=>{console.log("reactiveObj 嵌套变化:", newVal,oldVal);
}); // 监听 reactiveObj.nested.value 时,需使用函数式写法,deep 选项无效

三、核心区别总结

特性ref (对象类型)reactive
数据存储方式包裹在 .value 中直接代理对象
默认深度监听否(需显式设置 deep)
推荐监听方式监听 .value (无需 deep)直接监听对象
适用场景基本类型或需要替换整个对象复杂对象,需深层级响应式

四、最佳实践建议

1. 优先使用 reactive

处理复杂对象时,reactive 的自动深度响应更简洁高效。

2. 明确 ref 的使用场景

当需要替换整个对象或处理基础类型时,选择 ref。

3. 简化 watch 配置

  • 监听 ref 的 .value 替代显式 deep
  • 直接传递 reactive 对象而非函数返回值

通过理解这些差异,可以更精准地选择响应式工具,并避免不必要的性能消耗。

http://www.dtcms.com/wzjs/146950.html

相关文章:

  • 招远网站建设网络营销与直播电商专业学什么
  • 北京招聘网搜索引擎优化是指什么意思
  • wordpress 打赏 手机广西seo经理
  • wordpress只启用cdn网站推广seo方法
  • 内蒙古知名网站建设品牌营销公司
  • wordpress采集生成用户插件排名优化推广
  • 郑州一核酸点推vip服务 年费320元关键词自动优化
  • 怎么做微网站建站cms
  • 网站建设wordpress比较今日热点新闻2022
  • 做网站哪个系统最好低价刷粉网站推广
  • 如何进行网站建设微信管理系统
  • 上海网站制作的百度竞价排名是哪种方式
  • 雄安做网站公司贴吧引流推广
  • 网站开发 进度表网络营销有几种方式
  • 网站 如何做用户统计网上推广产品哪个网好
  • 免费插画素材网站网络推广100种方式
  • 搭建网站要不要给域名对方快速建站
  • 淘宝网站建设模板免费下载seo服务是什么意思
  • 青岛做网站需要多少钱中国企业500强最新排名
  • 江苏宜兴做网站的电话站优化
  • 通辽市工程建设网站营销软文200字
  • 监控网站模版bt磁力狗
  • 功能型网站多少钱百度关键词点击
  • 商标买卖seo网站快排
  • 如何做好品牌网站建设seo服务深圳
  • 大兴网站建设公司电话一级域名生成二级域名
  • wordpress修改模板教程北京seo顾问服务公司
  • 怎么做服务网站重庆seo网页优化
  • 门户网站建设报告哦怎么推广一个网站
  • 电子网站建设维护百度云盘网页登录入口