常用 的 Vue3 新增方法及用法

Vue3 相较于 Vue2 新增了很多方法,以下列举几个常用的方法及用法:

  1. ref:用于创建响应式的数据对象,可以在模板和逻辑中使用:
import { ref, reactive } from 'vue'

// 创建响应式数据
const count = ref(0)

// 使用响应式数据
console.log(count.value) // 输出 0

const obj = reactive({ name: 'vue3' })
obj.name = 'vue3.x'
console.log(obj.name) // 输出 vue3.x

  1. computed:用于创建计算属性,可以是一个函数或者一个包含 getset 函数的对象:
import { ref, computed } from 'vue'

const count = ref(0)

// 创建计算属性,依赖 count 值,返回 count 的平方
const countSquare = computed(() => count.value * count.value)

console.log(countSquare.value) // 输出 0

count.value = 2
console.log(countSquare.value) // 输出 4

  1. watchEffect:用于监听响应式数据变化并执行回调函数,自动收集依赖:
import { ref, watchEffect } from 'vue'

const count = ref(0)

// 监听 count 值变化,并在每次变化时执行回调函数
watchEffect(() => {
  console.log(count.value)
})

count.value = 1 // 输出 1
count.value = 2 // 输出 2

  1. watch:用于监听指定的响应式数据变化并执行回调函数:
import { ref, watch } from 'vue'

const count = ref(0)

// 监听 count 值变化,并在每次变化时执行回调函数
watch(count, (newValue, oldValue) => {
  console.log(`count 值从 ${oldValue} 变成了 ${newValue}`)
})

count.value = 1 // 输出 count 值从 0 变成了 1
count.value = 2 // 输出 count 值从 1 变成了 2

  1. provide / inject:用于实现组件之间的依赖注入,类似于 React 中的 Context:
import { provide, inject } from 'vue'

// 在父组件中提供数据
const provideData = {
  name: 'vue3'
}
provide('data', provideData)

// 在子组件中使用提供的数据
const childData = inject('data')

console.log(childData.name) // 输出 vue3

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值