vue3中hooks使用

本文详细介绍了如何在Vue中使用useCount hooks,通过ref和computed创建计数器组件,并导出函数结构。展示了如何在模板中调用增加和减少计数的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简单理解就是导出函数将返回的属性或者函数结构出来
userCount.ts

import { ref, Ref, computed } from 'vue'
type countResultObj = {
  count: Ref<number>
  increase: (increaseCount?: number) => void
  decrease: (decreaseCount?: number) => void
}
// 返回的类型是countResultObj中的类型
export const useCount = (init = 10): countResultObj => {
  const count = ref(init)
  // 固定加几?increaseCount参数
  const increase = (increaseCount?: number): void => {
    if (typeof increaseCount !== 'undefined') {
      count.value += increaseCount
    } else {
      count.value += 1
    }
  }
  const decrease = (decreaseCount?: number): void => {
    if (typeof decreaseCount !== 'undefined') {
      count.value -= decreaseCount
    } else {
      count.value -= 1
    }
  }
  return {
    count,
    increase,
    decrease
  }
}

使用

<template>
   <a-button @click="increase(10)">+10</a-button>
   <a-button @click="decrease(10)">-10</a-button>
   <div>测试hooks count:{{ count }}</div>
</template>
import { useCount } from '@/hooks/userCount'
export default defineComponent({
  name: '',
  components: {},
  setup() {
    const { count, increase, decrease } = useCount()
    return {
      count,
      increase,
      decrease
    }
  }
})
</script>

参考:
https://juejin.cn/post/6940454764421316644#heading-19

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值