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

域客士单页网站网站开发价目表

域客士单页网站,网站开发价目表,网站开发技术方案编写,营销型企业网站建设应遵守的原则在 Vue 3 中,ref 和 reactive 是实现响应式数据的两大核心 API,它们在数据类型支持、访问方式、响应性保持及使用场景上存在显著差异,具体对比如下: 一、数据类型支持 1.2、ref 通用性:可包装任意类型的值&#xff…

在 Vue 3 中,ref 和 reactive 是实现响应式数据的两大核心 API,它们在数据类型支持、访问方式、响应性保持及使用场景上存在显著差异,具体对比如下:

一、数据类型支持

1.2、ref

通用性:可包装任意类型的值,包括基础类型(如 string、number、boolean)和复杂类型(如对象、数组、Map、Set)。

内部机制:若传入复杂类型,ref 内部会调用 reactive 将其转换为深度响应式对象。

示例:

const count = ref(0); // 基础类型const user = ref({ name: 'Alice' }); // 对象类型

1.2、reactive

局限性:仅支持复杂类型(对象、数组、Map、Set),若传入基础类型(如 string、number)会直接返回原值,无响应式。

深度响应:自动递归处理嵌套对象,确保所有层级属性均为响应式。

示例:

const state = reactive({ count: 0 }); // 合法const num = reactive(10); // 无效,返回原值 10

二、数据访问与修改

2.1、ref

访问/修改:需通过 .value 属性操作数据,但在模板中自动解包,无需写 .value。

示例:

const count = ref(0);console.log(count.value); // 0(JS 中访问)count.value++; // 修改值
<template><div>{{ count }}</div> <!-- 模板中直接使用,无需 .value --></template>

2.2、reactive

直接访问:直接通过对象属性操作数据,无需 .value。

示例:

const state = reactive({ count: 0 });console.log(state.count); // 0state.count++; // 直接修改
<template><div>{{ state.count }}</div> <!-- 直接访问属性 --></template>

三、响应性保持

3.1、ref

解构问题:直接解构会丢失响应性,需配合 toRefs 或 toRef 保持响应性。

示例:

javascriptconst user = ref({ name: 'Alice' });const { name } = user.value; // 解构后失去响应性// 正确做法:const { name: refName } = toRefs(user.value); // 保持响应性

3.2、reactive

解构友好性:直接解构对象属性会丢失响应性,但可通过 toRefs 转换。

示例:

const state = reactive({ count: 0 });const { count } = state; // 解构后失去响应性// 正确做法:const { count: refCount } = toRefs(state); // 保持响应性

四、使用场景推荐

4.1、优先使用 ref 的场景

需要处理基础类型(如计数器、布尔标志)。

需要明确数据来源(如通过 .value 区分响应式与非响应式数据)。

需要将数据传递给函数或组合式 API 时,避免引用丢失。

4.2、优先使用 reactive 的场景

管理复杂对象状态(如表单数据、全局状态)。

需要深度响应式且避免频繁使用 .value 的代码结构。

与 Vue 2 风格迁移时,保持对象操作的直观性。

五、性能与实现原理

5.1、ref

底层实现:基于 Object.defineProperty 或 Proxy(复杂类型时调用 reactive)。

性能开销:基础类型需额外包装对象,复杂类型依赖 reactive 的深度递归。

5.2、reactive

底层实现:基于 Proxy,直接拦截对象操作(如属性读写、删除)。

性能优势:对复杂对象操作更高效,但基础类型无法使用。

六、表格对比

特性refreactive
支持数据类型基础类型 + 复杂类型仅复杂类型
访问方式.value(JS 中),模板自动解包直接通过属性访问
响应性保持解构需 toRefs解构需 toRefs
适用场景基础类型、明确数据来源复杂对象、深度响应式
性能基础类型有包装开销对复杂对象更高效

七、欢迎交流指正

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

相关文章:

  • 建e室内设计网 3d模型医美前台网站排名优化
  • 工作室网站开发免费1级做爰片在线观看网站
  • 网站建设公司浙江江苏中粟建设工程有限公司网站
  • 中国建设网官方网站地址网络营销推广的方式包括
  • wordpress nodejs版本seo关键词优化服务
  • 网站效果用什么软件做微信制作网站开发
  • 上海网站备案人工服务器wordpress 高端主题
  • 好看的企业网站最近热点新闻事件2023
  • 软件工程师证书报考网站长沙百姓网招聘信息
  • 大气简约企业网站模板免费下载均安公司网站建设
  • 购物商城外贸网站建设做网站还有搞头吗
  • 建设网站网络公司内蒙古优途国际旅行社
  • 建e网站网站检索 标签
  • 泗洪网站百度地图怎么没有实景导航了
  • 鄂州第一官方网站网站建设实训设计思想
  • 外贸网站如何推广出去秦皇岛吧百度贴吧
  • 广东两学一做考试网站wordpress 图片保护
  • 装修房子的风格设计图软件北京seo服务商找行者seo
  • 多个wordpress站点同步做会员卡的网站在线制作
  • 关系网站优化公司广东网站建设方便
  • 深圳做电商平台网站企业年检网上申报流程
  • 广告网站推广销售昆明做网站建设的公司排名
  • 如何创办自己的网站如何做网络营销推广赚钱
  • 建设化工网站的目的品牌网页设计公司
  • 交易网站开发文档关于域名用于非网站用途
  • 律师事务所网站建设重要性中英语双语网站咋做
  • 做图书网站赚钱么可以登陆的wordpress
  • 1688阿里巴巴官方网站如何做网站商铺
  • 原创 网站 源码百度可以建网站吗
  • 凡科网站建设多少钱html5网站后台管理系统