最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue3中hooks的概述及用法小結

 更新時間:2023年03月07日 14:26:06   作者:一只愛吃糖的小羊  
這篇文章是介紹一下vue3中的hooks以及它的用法,主要圍繞兩點來介紹,一個是hooks基本概念,另一個是vue3中hooks的使用方法,本文結合實例代碼給大家講解的非常詳細,需要的朋友參考下吧

大家好,今天這篇文章是介紹一下vue3中的hooks以及它的用法。本文內(nèi)容主要有以下兩點:

  • 什么是hooks
  • vue3中hooks的使用方法

一、 什么是hooks

hook是鉤子的意思,看到“鉤子”是不是就想到了鉤子函數(shù)?事實上,hooks 還真是函數(shù)的一種寫法。

vue3 借鑒 react hooks 開發(fā)出了 Composition API ,所以也就意味著 Composition API 也能進行自定義封裝 hooks。

vue3 中的 hooks 就是函數(shù)的一種寫法,就是將文件的一些單獨功能的js代碼進行抽離出來,放到單獨的js文件中,或者說是一些可以復用的公共方法/功能。其實 hooksvue2 中的 mixin 有點類似,但是相對 mixins 而言, hooks 更清楚復用功能代碼的來源, 更清晰易懂。

二、hooks的用法

1.在src中創(chuàng)建一個hooks文件夾,用來存放hook文件

2.根據(jù)需要寫hook文件,比如要實現(xiàn)一個功能就是在 點擊頁面時,記錄鼠標當前的位置,可以在hooks文件夾中新建一個文件useMousePosition.ts

// src/hooks/useMousePosition.ts
import { ref, onMounted, onUnmounted, Ref } from 'vue'

interface MousePosition {
  x: Ref<number>,
  y: Ref<number>
}
function useMousePosition(): MousePosition {
  const x = ref(0)
  const y = ref(0)

  const updateMouse = (e: MouseEvent) => {
    x.value = e.pageX
    y.value = e.pageY
  }

  onMounted(() => {
    document.addEventListener('click', updateMouse)
  })

  onUnmounted(() => {
    document.removeEventListener('click', updateMouse)
  })

  return { x, y }
}

export default useMousePosition

3.hook文件的使用:在需要用到該hook功能的組件中的使用,比如在 test.vue文件中:

// src/views/test.vue
<template>
  <div>
    <p>X: {{ x }}</p>
    <p>Y: {{ y }}</p>
  </div>
</template>

<script lang="ts">
import { defineComponent} from 'vue'
// 引入hooks
import useMousePosition from '../../hooks/useMousePosition'
export default defineComponent({
  setup () {
    // 使用hooks功能
    const { x, y } = useMousePosition()

    return {
      x,
      y
    }
  }
})
</script>

以上就是vue3中hooks的使用,是不是覺得特別的簡單清晰。

到此這篇關于vue3中hooks的介紹及用法的文章就介紹到這了,更多相關vue3中hooks用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Vue2中Class?Component的使用指南

    Vue2中Class?Component的使用指南

    Vue.js?以其簡單易用和靈活性受到了廣大開發(fā)者的喜愛,然而,隨著項目的復雜度增加,組件的管理和組織也變得越來越重要,下面我們就來看看如何通過vue-class-component編寫更加優(yōu)雅和結構化的組件
    2024-11-11
  • vue中引入路徑@的用法及說明

    vue中引入路徑@的用法及說明

    這篇文章主要介紹了vue中引入路徑@的用法及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 使用vue+element?ui實現(xiàn)走馬燈切換預覽表格數(shù)據(jù)

    使用vue+element?ui實現(xiàn)走馬燈切換預覽表格數(shù)據(jù)

    這次做項目的時候遇到需要切換預覽表格數(shù)據(jù)的需求,所以下面這篇文章主要給大家介紹了關于使用vue+element?ui實現(xiàn)走馬燈切換預覽表格數(shù)據(jù)的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • Vue讀取本地靜態(tài).md并側(cè)邊欄導航跳轉(zhuǎn)、展示.md文件的操作方法

    Vue讀取本地靜態(tài).md并側(cè)邊欄導航跳轉(zhuǎn)、展示.md文件的操作方法

    這篇文章主要介紹了Vue讀取本地靜態(tài).md并側(cè)邊欄導航跳轉(zhuǎn)、展示.md文件,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • vue3中vue-meta的使用方法解析

    vue3中vue-meta的使用方法解析

    這篇文章主要介紹了vue3中vue-meta的使用方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Vue實現(xiàn)靜態(tài)資源的OSS部署的完整指南

    Vue實現(xiàn)靜態(tài)資源的OSS部署的完整指南

    在大型前端項目的生產(chǎn)環(huán)境部署中,靜態(tài)資源(JS、CSS、字體文件等)通常占據(jù)較大的體積,將這些資源部署到對象存儲服務(OSS)并通過 CDN 加速,可以帶來很多優(yōu)勢,所以本文給大家介紹了Vue實現(xiàn)靜態(tài)資源的OSS部署的完整指南,需要的朋友可以參考下
    2025-11-11
  • vue3 reactive定義的引用類型直接賦值導致數(shù)據(jù)失去響應式問題

    vue3 reactive定義的引用類型直接賦值導致數(shù)據(jù)失去響應式問題

    這篇文章主要介紹了vue3 reactive定義的引用類型直接賦值導致數(shù)據(jù)失去響應式問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • vue.js+ElementUI實現(xiàn)進度條提示密碼強度效果

    vue.js+ElementUI實現(xiàn)進度條提示密碼強度效果

    這篇文章主要介紹了vue.js+ElementUI實現(xiàn)進度條提示密碼強度效果,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • Vuex模塊化和命名空間namespaced實例演示

    Vuex模塊化和命名空間namespaced實例演示

    這篇文章主要介紹了Vuex模塊化和命名空間namespaced的相關知識,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-11-11
  • VUE的數(shù)據(jù)代理與事件詳解

    VUE的數(shù)據(jù)代理與事件詳解

    這篇文章主要為大家介紹了VUE的數(shù)據(jù)代理與事件,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11

最新評論

固镇县| 莲花县| 万源市| 易门县| 胶南市| 怀柔区| 清远市| 临泉县| 紫云| 班玛县| 五河县| 三穗县| 枣庄市| 偏关县| 贵州省| 阜阳市| 泸州市| 温宿县| 安阳市| 青神县| 丰宁| 宁国市| 眉山市| 扶风县| 太仆寺旗| 视频| 阿拉善盟| 浦东新区| 神农架林区| 台山市| 申扎县| 贵定县| 西城区| 泾阳县| 弥勒县| 舟曲县| 博客| 张掖市| 西宁市| 保山市| 汤阴县|