在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。
跟我写一个封装的函数,没有什么区别;
这里来看确实是没有什么太大的区别。
原文:https://www.cnblogs.com/IwishIcould/p/14887165.html