首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Vue 3 computed & watch:掌握响应式数据,告别手动更新!

「小墨是前端」致力于分享实用前端技术、挖掘优秀的开源项目,带你探索前端的奇妙世界,共同学习进步。

在构建动态交互的 Vue 应用时,高效管理和响应数据变化至关重要。Vue 3 提供了 computed 和 watch 两种强大的特性,一个负责精准计算,一个负责敏锐感知,共同成就流畅的用户体验。

computed:数据管家,一键更新

例如在商城购物车中,商品数量和价格实时变动,如何优雅地更新总价?手动计算?No!Vue 3 的 computed 属性就像一位精明管家,负责自动计算并缓存结果,只有当依赖的数据发生变化时,才会重新计算,避免不必要的开销。

基本用法:

上面代码中,totalPrice会自动根据quantity和price的变化而更新,无需手动干预。

除了只读计算,computed 属性也支持双向绑定:

watch:变化侦测器,触发副作用

当数据变化时,除了更新视图,有时还需要执行一些副作用操作,例如发送请求、修改 DOM 元素、播放动画等,这时就轮到 watch 大显身手了。watch 就像一位警觉的哨兵,时刻监视着特定数据的变化,并在变化发生时触发相应的回调函数。

基本用法:

监听多个数据:

watchEffect:自动追踪依赖:

watchEffect无需手动指定依赖,它会自动追踪回调函数中用到的响应式数据,并在这些数据变化时重新执行回调函数:

深度监听:

如果需要监听复杂对象的属性变化,可以使用深度监听,例如监听user对象:

computed 与 watch 的选择:

computed 适用于派生新的数据,并自动缓存结果;watch 适用于执行副作用操作,或需要监听多个数据源。

熟练掌握 computed 和 watch,将助你更好地驾驭 Vue 3 的响应式系统,打造灵活、高效、可维护的应用程序。

创作不易,求点赞、求在看、求转发!你的支持是我创作的最大动力!关注小墨,带你解锁更多前端技能!

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OR2nOUP6T1hMURwtK9r2Ei5Q0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券