0
点赞
收藏
分享

微信扫一扫

vue3知识点:自定义hook函数


vue3知识点:自定义hook函数_vue3

文章目录

  • ​​二、常用 Composition API​​
  • ​​9.自定义hook函数​​
  • ​​案例:页面打印鼠标滑动坐标​​
  • ​​项目代码​​
  • ​​本人其他相关文章链接​​

二、常用 Composition API

问题:啥叫“组合式API”?

答案:请看官方文档: ​​ https://v3.cn.vuejs.org/guide/composition-api-introduction.html​​

9.自定义hook函数

vue3知识点:自定义hook函数_vue_02


注意点1:

创建hooks文件夹,把每个模块需要封装的代码封装到一个js文件中,这样的好处是组件中看着很清爽,只管引入和调用即可,具体hook如何实现那是别人负责的,当前组件只管引入使用即可。

使用步骤:
1)封装每个模块的hook函数的js文件
2)组件中import引入hook函数
3)return中进行返回设置
4)页面模板中直接引用即可

案例:页面打印鼠标滑动坐标

项目代码

项目目录

vue3知识点:自定义hook函数_前端_03

main.js

//引入的不再是Vue构造函数了,引入的是一个名为createApp的工厂函数
import { createApp } from 'vue'
import App from './App.vue'

//创建应用实例对象——app(类似于之前Vue2中的vm,但app比vm更“轻”)
const app = createApp(App)

//挂载
app.mount('#app')

App.vue

<template>
<button @click="isShowDemo = !isShowDemo">切换隐藏/显示</button>
<Demo v-if="isShowDemo"/>
</template>

<script>
import {ref} from 'vue'
import Demo from './components/Demo'
export default {
name: 'App',
components:{Demo},
setup() {
let isShowDemo = ref(true)
return {isShowDemo}
}
}
</script>

usePoint.js

import {reactive,onMounted,onBeforeUnmount} from 'vue'
export default function (){
//实现鼠标“打点”相关的数据
let point = reactive({
x:0,
y:0
})

//实现鼠标“打点”相关的方法
function savePoint(event){
point.x = event.pageX
point.y = event.pageY
console.log(event.pageX,event.pageY)
}

//实现鼠标“打点”相关的生命周期钩子
onMounted(()=>{
window.addEventListener('click',savePoint)
})

onBeforeUnmount(()=>{
window.removeEventListener('click',savePoint)
})

return point
}

Demo.vue

<template>
<h2>当前求和为:{{sum}}</h2>
<button @click="sum++">点我+1</button>
<hr>
<h2>当前点击时鼠标的坐标为:x:{{point.x}},y:{{point.y}}</h2>
</template>

<script>
import {ref} from 'vue'
import usePoint from '../hooks/usePoint'
export default {
name: 'Demo',
setup(){
//数据
let sum = ref(0)
let point = usePoint()


//返回一个对象(常用)
return {sum,point}
}
}
</script>

结果展示

vue3知识点:自定义hook函数_前端_04

本人其他相关文章链接

1.​​《vue3第二章》常用组合式 Composition API,包括setup、ref函数、reactive函数、vue3.0中的响应式原理、计算属性与监听属性​​ 2.vue3知识点:setup
3.vue3知识点:ref函数
4.vue3知识点:reactive函数
5.vue3知识点:Vue3.0中的响应式原理和 vue2.x的响应式
6.vue3知识点:reactive对比ref
7.vue3知识点:计算属性与监视属性
8.vue3知识点:生命周期
9.vue3知识点:自定义hook函数
10.vue3知识点:toRef函数和toRefs函数


举报

相关推荐

0 条评论