vue3的hook函数

自定义hook函数

在这里插入图片描述

  • 使用方法
    • 创建hooks文件夹
    • 创建函数文件
    • 暴露函数
    • 引入使用
  • 使用组合式API进行封装
    * [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WtJ1zlUY-1651284095680)(C:\Users\44338\AppData\Roaming\Typora\typora-user-images\image-20220305205643245.png)]
import {reactive,onMounted,onBeforeUnmount} from "vue"
export default function(){
    let point=reactive({
    x:0,y:0
  })
  function m1(event){
    point.x=event.pageX 
    point.y=event.pageY
  }
  onMounted(()=>{
    window.addEventListener('mouseover',m1)
  })
  onBeforeUnmount(() => {
      window.removeEventListener('mouseover',m1)
  })
  return point
}

//HelloWord.vue


<template>
  <div class="hello">
    <h1>姓名:<input type="text" v-model="person.name"></h1>
    <h1>地址:<input type="text" v-model="person.address"></h1>
    <h1>{{person.message}}</h1>
    <button @click="person.name+=`~`">姓名按钮</button>
  </div><br>
  <h1>当前坐标为x:{{point.x}},y:{{point.y}}</h1>
</template>

<script>
import { reactive } from '@vue/reactivity'
import usepoint from "../hooks/usePoint"
export default {
  name: 'HelloWorld',
  setup() {
    let person=reactive({
      name:"魈" ,address:"璃月",job:{j1:{salary:2000}}
    }) 
    let point=usepoint()
    return {person,point}
  }
 
}
</script>

  • 封装函数,很方便复用
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值