自定义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)。
相关推荐
Hello.Reader19 分钟前
Flink 文件系统通用配置默认文件系统与连接数限制实战
vue.js·flink·npm
EchoEcho2 小时前
深入理解 Vue.js 渲染机制:从声明式到虚拟 DOM 的完整实现
vue.js
C澒2 小时前
Vue 项目渐进式迁移 React:组件库接入与跨框架协同技术方案
前端·vue.js·react.js·架构·系统架构
发现一只大呆瓜4 小时前
虚拟列表:从定高到动态高度的 Vue 3 & React 满分实现
前端·vue.js·react.js
鱼毓屿御4 小时前
如何给用户添加权限
前端·javascript·vue.js
Java新手村5 小时前
基于 Vue 3 + Spring Boot 3 的 AI 面试辅助系统:实时语音识别 + 大模型智能回答
vue.js·人工智能·spring boot
雯0609~5 小时前
hiprint:实现项目部署与打印3-vue版本-独立出模板设计与模板打印页面
前端·vue.js·arcgis
David凉宸5 小时前
Vue 3 + TS + Vite + Pinia vs Vue 2 + JS + Webpack + Vuex:对比分析
javascript·vue.js·webpack
滕青山5 小时前
Vue项目BMI计算器技术实现
前端·vue.js
boooooooom6 小时前
Pinia必学4大核心API:$patch/$reset/$subscribe/$onAction,用法封神!
javascript·vue.js·面试