1. <template>
    2. <div>
    3. {{x}},{{y}}
    4. </div>
    5. </template>
    6. <script setup>
    7. import { reactive, toRefs } from "@vue/reactivity";
    8. import { onMounted, onUnmounted } from "@vue/runtime-core";
    9. const state = reactive({
    10. x:0,
    11. y:0,
    12. updateMouse(e){
    13. state.x = e.offsetX
    14. state.y = e.offsetY
    15. }
    16. })
    17. const {x,y} = toRefs(state);
    18. onMounted(()=>{
    19. document.addEventListener("click",state.updateMouse)
    20. })
    21. onUnmounted(()=>{
    22. document.removeEventListener("click",state.updateMouse)
    23. })
    24. </script>