Vue3中监听数据变化,以及composition Api

简介: Vue3中监听数据变化,以及composition Api

Vue3监听数据变化,以及composition Api

Vue2中的数据监听

在Vue2中,可以使用watch选项或$watch方法来监听数据变化。

watch选项

在Vue2的组件选项中,有一个watch选项,用来监听数据的变化。具体的语法如下:

export default {
  data() {
    return {
      count: 0
    }
  },
  watch: {
    count(newValue, oldValue) {
      console.log(`count值从${oldValue}变为${newValue}`)
    }
  }
}

在上面的代码中,我们在组件选项中定义了一个watch选项,用来监听count的变化。当count的值发生变化时,会执行回调函数,并将变化前的值和变化后的值作为参数传入回调函数中。

$watch方法

在Vue2中,还可以使用$watch方法来监听数据变化。具体的语法如下:

export default {
  data() {
    return {
      count: 0
    }
  },
  mounted() {
    this.$watch('count', (newValue, oldValue) => {
      console.log(`count值从${oldValue}变为${newValue}`)
    })
  }
}

在上面的代码中,我们在组件的mounted钩子函数中使用$watch方法来监听count的变化。当count的值发生变化时,会执行回调函数,并将变化前的值和变化后的值作为参数传入回调函数中。

Vue3中的数据监听

在Vue3中,可以使用watch函数来监听数据变化。

watch函数

在Vue3中,可以使用watch函数来监听数据变化。具体的语法如下:

import { watch, ref } from 'vue'
export default {
  setup() {
    const count = ref(0)
    watch(count, (newValue, oldValue) => {
      console.log(`count值从${oldValue}变为${newValue}`)
    })
    return {
      count
    }
  }
}

在上面的代码中,我们使用watch函数来监听count的变化。当count的值发生变化时,会执行回调函数,并将变化前的值和变化后的值作为参数传入回调函数中。

watch为什么只是Proxy的附属品

在Vue3中,使用watch监听数据变化时,会自动创建一个响应式对象,并使用Proxy来监听该对象的变化。实际上,Vue3中的响应式系统是基于Proxy实现的,而watch函数只是响应式系统的一个附属品,用来监听数据变化并执行相应的回调函数,可以理解为是对Proxy的封装。


与Vue2中的数据监听方式不同,Vue3中的watch函数可以监听任何响应式数据的变化,包括响应式对象、响应式数组、计算属性等。这就使得Vue3中的数据监听更加灵活和方便,可以根据实际情况选择不同的监听方式。


总的来说,Vue3中的数据监听方式更加灵活和方便,使用watch函数可以监听任何响应式数据的变化,并执行相应的回调函数。watch函数只是Vue3响应式系统的一个附属品,用来封装Proxy的功能,使得数据监听更加方便和高效。


Options API 和 Composition API

Options API是Vue2中使用的API风格,它是一种基于选项的API,即我们在Vue实例中定义一些选项,例如data、methods、computed、watch等等。Options API的优点是易于理解和使用,但是当组件逻辑变得复杂时,代码结构会变得混乱不易于维护。


Composition API是Vue3中新增的API风格,它基于函数的API,即我们可以将组件的逻辑拆分成多个函数,每个函数只关注特定的功能,然后再将这些函数组合成一个组件。Composition API的优点是可以更好地组织代码,易于复用和测试,并且可以更好地支持TypeScript。


Composition API提供了一些常用的函数,例如reactive、ref、computed、watchEffect等等,可以帮助我们更方便地管理组件的状态和行为。


下面是一些常用的Composition API函数:


reactive:将一个普通对象转换成响应式对象


ref:将一个普通变量转换成响应式变量


computed:创建一个计算属性


watchEffect:创建一个响应式副作用


watch:创建一个响应式的侦听器


onMounted:在组件挂载时执行的函数


onUpdated:在组件更新时执行的函数


onUnmounted:在组件卸载时执行的函数


总之,Composition API是Vue3中的一个重要特性,可以帮助我们更好地组织代码,提高代码的可读性和可维护性。


⭐⭐以reactive函数为例,它的语法如下:

import { reactive } from 'vue'
const state = reactive({
  count: 0
})

这个函数接受一个普通的JavaScript对象作为参数,并返回一个响应式的对象。我们可以通过访问state.count属性来获取或设置它的值,当属性的值发生改变时,相关的组件将会自动更新。

⭐⭐另一个常用的函数是ref,它的语法如下:

import { ref } from 'vue'
const count = ref(0)

这个函数接受一个普通的JavaScript值作为参数,并返回一个响应式的变量。我们可以通过访问count.value属性来获取或设置它的值,当变量的值发生改变时,相关的组件将会自动更新。

浅浅的列举两个例子,其他的用法可以参考官方文档,传送门:官方文档


相关文章
|
13天前
|
供应链 监控 安全
1688商品详情API接口实战指南:合规获取数据,驱动B2B业务增长
1688商品详情API(alibaba.product.get)是合规获取B2B商品数据的核心工具,支持全维度信息调用,助力企业实现智能选品、供应链优化与市场洞察,推动数字化转型。
|
6天前
|
JSON 前端开发 API
如何调用体育数据足篮接口API
本文介绍如何调用体育数据API:首先选择可靠服务商并注册获取密钥,接着阅读文档了解基础URL、端点、参数及请求头,然后使用Python等语言发送请求、解析JSON数据,最后将数据应用于Web、App或分析场景,同时注意密钥安全、速率限制与错误处理。
|
6天前
|
供应链 数据挖掘 API
揭秘天猫详情 API 接口:开启电商数据新大门
天猫详情API接口是电商数据利器,助力选品、市场调研与销售预测。通过获取商品价格、销量、评价等信息,提升决策效率,赋能企业精准运营,抢占市场先机。
32 0
|
13天前
|
缓存 监控 供应链
亚马逊 MWS API 实战:商品详情精准获取与跨境电商数据整合方案
本文详细解析亚马逊MWS API接口的技术实现,重点解决跨境商品数据获取中的核心问题。文章首先介绍MWS接口体系的特点,包括多站点数据获取、AWS签名认证等关键环节,并对比普通电商接口的差异。随后深入拆解API调用全流程,提供签名工具类、多站点客户端等可复用代码。针对跨境业务场景,文章还给出数据整合工具实现方案,支持缓存、批量处理等功能。最后通过实战示例展示多站点商品对比和批量选品分析的应用,并附常见问题解决方案。该技术方案可直接应用于跨境选品、价格监控等业务场景,帮助开发者高效获取亚马逊商品数据。
|
6天前
|
JSON 自然语言处理 监控
淘宝关键词搜索与商品详情API接口(JSON数据返回)
通过商品ID(num_iid)获取商品全量信息,包括SKU规格、库存、促销活动、卖家信息、详情页HTML等。
|
6天前
|
Java API 开发者
揭秘淘宝详情 API 接口:解锁电商数据应用新玩法
淘宝详情API是获取商品信息的“金钥匙”,可实时抓取标题、价格、库存等数据,广泛应用于电商分析、比价网站与智能选品。合法调用,助力精准营销与决策,推动电商高效发展。(238字)
59 0
|
13天前
|
人工智能 供应链 API
淘宝API商品详情接口全解析:从基础数据到深度挖掘
淘宝API商品详情接口不仅提供基础数据,更通过深度挖掘实现从数据到洞察的跨越。开发者需结合业务场景选择合适分析方法,利用AI标签、区块链溯源等新技术,最终实现数据驱动的电商业务创新。
|
2月前
|
JSON API 数据格式
淘宝/天猫图片搜索API接口,json返回数据。
淘宝/天猫平台虽未开放直接的图片搜索API,但可通过阿里妈妈淘宝联盟或天猫开放平台接口实现类似功能。本文提供基于淘宝联盟的图片关联商品搜索Curl示例及JSON响应说明,适用于已获权限的开发者。如需更高精度搜索,可选用阿里云视觉智能API。
|
2月前
|
JSON API 数据安全/隐私保护
深度分析淘宝卖家订单详情API接口,用json返回数据
淘宝卖家订单详情API(taobao.trade.fullinfo.get)是淘宝开放平台提供的重要接口,用于获取单个订单的完整信息,包括订单状态、买家信息、商品明细、支付与物流信息等,支撑订单管理、ERP对接及售后处理。需通过appkey、appsecret和session认证,并遵守调用频率与数据权限限制。本文详解其使用方法并附Python调用示例。
|
18天前
|
数据可视化 测试技术 API
从接口性能到稳定性:这些API调试工具,让你的开发过程事半功倍
在软件开发中,接口调试与测试对接口性能、稳定性、准确性及团队协作至关重要。随着开发节奏加快,传统方式已难满足需求,专业API工具成为首选。本文介绍了Apifox、Postman、YApi、SoapUI、JMeter、Swagger等主流工具,对比其功能与适用场景,并推荐Apifox作为集成度高、支持中文、可视化强的一体化解决方案,助力提升API开发与测试效率。

热门文章

最新文章