vue Hooks

Vue Hooks是Vue3基于‌Composition API实现的逻辑复用方案,通过函数式封装解决代码复用与组织难题‌。

Vue Hooks的核心作用

  • ‌逻辑复用‌:替代Vue2的‌Mixin方案,避免命名冲突(如多个Mixin的data/methods同名覆盖问题),通过usePagination等函数显式暴露状态与方法。‌‌
  • ‌代码聚合‌:将与同一功能相关的‌响应式变量、‌计算属性、生命周期逻辑整合到单一Hook中(如分页功能包含页码控制、加载状态、请求触发)。‌‌
  • ‌类型支持优化‌:配合‌TypeScript时,函数参数与返回值类型推导更精准,提升代码可维护性。‌‌
  • 自定义hook的优势:复用代码, 让setup中的逻辑更清楚易懂。

使用方式与规范

  • ‌命名规则‌:以use开头的驼峰命名(如useFetch)。‌‌

  • ‌代码组织‌:在src/hooks目录存放复用逻辑,组件中通过import { useXxx } from '@/hooks'调用。‌‌

  • 让一个功能的数据和方法合在一起,把模块化开发发挥到极致,类似vue2的mixin

  • 示例代码:

    import {ref,onMounted} from 'vue'

    export default function(){
    let sum = ref(0)

    复制代码
    const increment = ()=>{
      sum.value += 1
    }
    const decrement = ()=>{
      sum.value -= 1
    }
    onMounted(()=>{
      increment()
    })
    
    //向外部暴露数据
    return {sum,increment,decrement}

    }

组件中具体使用:

复制代码
<template>
  <h1> 数字:{{ sumData.sum }}</h1>
  <button @click="sumData.increment">点我+1</button>
</template>
 
<script setup lang="ts">
import useSum  from './hooks/useSum'
// 调用useSum函数获取返回的响应式数据
const sumData = useSum()
</script>
 
<style scoped>

</style>
相关推荐
龙亘川1 小时前
开箱即用的智慧城市一网统管 AI 平台——项目目录结构及前端结构(7-9)
前端·人工智能·智慧城市
多多1531 小时前
基于大模型的文档自动化测试用户提交文件进行文档测试
前端
张风捷特烈1 小时前
Flutter TolyUI 框架#11 | 标签 tolyui_tag
前端·flutter·ui kit
小茴香3531 小时前
vue3的传参方式总结
javascript·vue.js·typescript
梵得儿SHI1 小时前
Vue 核心语法深度解析:生命周期与响应式之计算属性(computed)与侦听器(watch/watchEffect)
前端·javascript·vue.js·计算属性·侦听器·缓存机制·数据派生
anuoua1 小时前
歼20居然是个框架-基于 Signals 信号的前端框架设计
前端·javascript·前端框架
秋天的一阵风1 小时前
翻掘金看到停更的前辈们,突然想聊两句 🤔
前端·vue.js·程序员
中杯可乐多加冰1 小时前
openEuler软件生态体验:快速部署Nginx Web服务器
服务器·前端·nginx
拾忆,想起1 小时前
Dubbo服务降级全攻略:构建韧性微服务系统的守护盾
java·前端·网络·微服务·架构·dubbo