Vue3中hook的简单使用

简介: Vue3中hook的简单使用

创建文件夹


在src下创建文件夹。文件名称为hooks。


hooks下的文件夹下,是你的封装的hook;


通过命名为useXXXXXX


usexy.js 文件是封装的获取屏幕的坐标


import {
    onBeforeUnmount,
    onMounted,
  ref
} from "vue";
export default function () {
    let x = ref("0")
    let y = ref("0")
    // 如果这个文件是ts, e的类型应该是 MouseEvent
    let pageHander=function(e){
      console.log(e)
      x.value=e.pageX;
      y.value=e.pageY;
    }
    // 需要使用生命周期函数,页面加载完成
    onMounted(()=>{
      window.addEventListener("click",pageHander)
    })
    // 在页面即将卸载时,移除事件的监听
    onBeforeUnmount(()=>{
      window.removeEventListener("click",pageHander )
    })
    return {x,y}
}


使用的页面


<template>
  <div>
    <p>横坐标{{x}}</p>
    <p>纵坐标{{y}}</p>
  </div>
</template>
<script>
import getxy from "../src/hooks/usexy.js"
export default {
  name: "App",
  setup() {
   let {x,y}=getxy()
   return {x,y}
  }
};
</script>


也许大家会觉得这里的hooks。


跟我写一个封装的函数,没有什么区别;


这里来看确实是没有什么太大的区别。

相关文章
|
5天前
|
JavaScript
vue3- antd design vue 引入iconfont
vue3- antd design vue 引入iconfont
|
4天前
|
JavaScript 数据格式
vue3 + Ant design vue formItem 无法使用嵌套的form表单校验
vue3 + Ant design vue formItem 无法使用嵌套的form表单校验
23 1
|
1天前
|
JavaScript API 开发者
关于vue3中v-model做了哪些升级 ?
【10月更文挑战第1天】
97 59
|
13天前
|
缓存 监控 UED
升级 Vue3 时,如何减少打包体积的增加?
升级 Vue3 时,如何减少打包体积的增加?
110 59
|
13天前
|
JavaScript
在vue3中(vite)引入unocss,安装配置unocss
在vue3中(vite)引入unocss,安装配置unocss
|
13天前
|
API UED
升级 Vue3 后,项目的打包体积会有什么变化?
升级 Vue3 后,项目的打包体积会有什么变化?
110 57
|
2天前
|
监控 JavaScript 安全
vue3添加pinia
本文介绍了Pinia作为Vue 3的状态管理库的特点,包括其基于Vue 3的Composition API、响应式状态管理、零依赖设计、插件系统、Devtools集成、Tree-shakable特性以及对TypeScript的支持,并详细说明了如何在Vue 3项目中安装和初始化Pinia。
9 0
vue3添加pinia
|
2天前
|
JavaScript
vue3完整教程从入门到精通(新人必学2,搭建项目)
本文介绍了如何在Vue 3项目中安装并验证Element Plus UI框架,包括使用npm安装Element Plus、在main.js中引入并使用该框架,以及在App.vue中添加一个按钮组件来测试Element Plus是否成功安装。
15 0
vue3完整教程从入门到精通(新人必学2,搭建项目)
|
2天前
|
JavaScript Java CDN
vue3完整教程从入门到精通(新人必学1,vue3快速上手)
本文提供了Vue 3从入门到精通的完整教程,涵盖了创建Vue应用、通过CDN使用Vue、定义网站以及使用ES模块构建版本的步骤和示例代码。
16 0
vue3完整教程从入门到精通(新人必学1,vue3快速上手)
|
2天前
|
存储 资源调度 JavaScript
Vite是什么?怎样使用Vite创建Vue3项目?
Vite是什么?怎样使用Vite创建Vue3项目?
6 0