自定义hook函数与toRef

hook

  • 什么是hook?
    • 本质是一个函数,把setup函数中使用的Composition API进行了封装。
  • 类似于 vue2 中的mixin。
  • 自定义hook的优势:复用代码,让setup中的逻辑更清除易懂。
  • 怎么用?
    • hooks文件夹里面的usepoint.js(相当于封装了一套,后续直接一套带走)

      复制代码
      import {onMounted, reactive,onBeforeUnmount} from 'vue'
      export default function(){
          let point = reactive({
              x:0,
              y:0
            }) 
            function savPoint(e){
              point.x = e.pageX,
                point.y = e.pageY
                console.log(point.x,point.y)
            }
            onMounted(()=>{
              window.addEventListener('click',savPoint)
        
            })
            onBeforeUnmount(()=>{
              window.removeEventListener('click',savPoint)
            })
            return point
      }
    • 要用的地方

引入:

import usePoint from './hooks/usePoint'

在setup里:

let point = usePoint()

要记得return 出去哦!!!

toRef、toRefs

  • 作用:创建一个ref对象,其value值指向另一个对象中的某个属性值。
  • 语法:const name = toRef(person,'name')。
  • 应用:要将响应式对象中的某个属性单独提供给外部使用时。
  • 扩展:toRefs 与 toRef 功能一致,但可以批量创建多个ref对象,语法:toRefs(person)。
相关推荐
前端小巷子1 小时前
Vue 自定义指令
前端·vue.js·面试
Stringzhua2 小时前
Vue中的数据渲染【4】
css·vue.js·css3
草梅友仁12 小时前
草梅 Auth 1.4.0 发布与 ESLint v9 更新 | 2025 年第 33 周草梅周报
vue.js·github·nuxt.js
萌萌哒草头将军14 小时前
Oxc 最新 Transformer Alpha 功能速览! 🚀🚀🚀
前端·javascript·vue.js
武昌库里写JAVA14 小时前
JAVA面试汇总(四)JVM(一)
java·vue.js·spring boot·sql·学习
littleding15 小时前
Vue3之计算属性
前端·vue.js
Juchecar15 小时前
采用 Vue 3 实现单页应用(SPA)与本地数据存储方案
前端·javascript·vue.js
congvee17 小时前
vue学习第3期 - 集成UI库
vue.js
前端小巷子19 小时前
Vue 事件绑定机制
前端·vue.js·面试
伍哥的传说20 小时前
Vue 3.5重磅更新:响应式Props解构,让组件开发更简洁高效
前端·javascript·vue.js·defineprops·vue 3.5·响应式props解构·vue.js新特性