成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

為何Vue3的自定義Hooks這么好用?

開發(fā) 前端
所謂的自定義 Hooks 就是在開發(fā) Vue3 項目時,我們將 script 里面相同邏輯功能的變量和方法等封裝到一個 js 文件里面,然后通過 export導出。

1.組合式 API 和選項 API

Vue2 提供的編程方式是 Options API,即選項式 API。

我們需要在 data 里面定義變量,在 methods 里面定義方法,在 computed 定義計算后的邏輯。

圖片圖片

在開發(fā)功能的時候,我們需要在 data 、methods、computed 之間來回找代碼。

如果功能非常復雜, data 、methods、computed 等里面的代碼就會非常長,不好維護。

圖片圖片

后來 Vue3 出現(xiàn)了,它提供的編程方式是 Composition API,即組合式 API。

在開發(fā)功能的時候,我們根據(jù)邏輯功能去組織代碼,一個功能所定義的所有 API 會放在一起。

圖片圖片

但是如果業(yè)務功能太復雜,script 標簽里面的代碼也會又臭又長,而且并不是很多人都有加注釋的習慣,所以時間長了也不好維護。

圖片圖片

那能不能把相同邏輯功能的代碼分別放到到不同的文件里,其他地方想用的時候直接導入就可以復用了呢?

有的,自定義 Hooks 出現(xiàn)了。

2.自定義 Hooks 介紹

Vue 的自定義 Hooks 是一種封裝可重用邏輯的方式。它允許你將復雜的邏輯提取出來,形成獨立的函數(shù),然后在不同的組件中復用。這樣可以避免在多個組件中重復編寫相同的邏輯,提高代碼的可讀性和可維護性。

通俗易懂來說就是:

1.將可復用的功能邏輯放到一個 js 文件里面,并通過 export  導出。

2.定義 Hooks 的時候,js 的文件名和方法名通常以 use 開頭,例如 useAddOrder、useChangeData。

3.通過 import  導入相關(guān)的 js 文件,引用時通過解構(gòu)顯示相關(guān)的變量和方法。

接下來我們講一下自定義 Hooks 的案例,其實非常簡單。

3.自定義 Hooks 案例

3.1 案例1

創(chuàng)建一個簡單的計數(shù)器 Hooks

圖片圖片

使用 Hooks

<template>
  <div>
    <p>count: {{ count }}</p>
    <el-divider></el-divider>
    <el-button type="primary" @click="increment">新增</el-button>
    <el-button type="success" @click="decrement">減少</el-button>
  </div>
</template>
<script setup>
// 導入 hooks
import { useCounter } from "../hooks/useCounter";
// 解構(gòu)引入
const { count, increment, decrement } = useCounter();
</script>

圖片圖片

3.2 案例2

創(chuàng)建一個監(jiān)聽瀏覽器窗口大小變化的 Hooks

圖片圖片

使用 Hooks

<template>
  <div>
     <p>瀏覽器窗口寬度: {{ width }}</p>
    <p>瀏覽器窗口高度: {{ height }}</p>
  </div>
</template>
<script setup>
// 導入 hooks
import { useWindowResize } from "../hooks/useWindowResize";
// 解構(gòu)引入
const { width, height } = useWindowResize();
</script>

圖片圖片

4.總結(jié)

所謂的自定義 Hooks 就是在開發(fā) Vue3 項目時,我們將 script 里面相同邏輯功能的變量和方法等封裝到一個 js 文件里面,然后通過 export導出。

然后在任何頁面都可以通過導入、解構(gòu)的方式使用,大大提高代碼的復用性。

自定義 Hooks 將相同的功能代碼從一堆代碼中解耦出來,讓組件結(jié)構(gòu)更清晰,便于維護。

圖片圖片

Hooks 直譯是“鉤子”,所以又把這些定義的 js 叫做鉤子函數(shù)。

責任編輯:武曉燕 來源: 知否技術(shù)
相關(guān)推薦

2021-11-30 08:19:43

Vue3 插件Vue應用

2023-06-28 08:05:46

場景vue3自定義

2024-11-06 10:16:22

2022-07-26 01:06:18

Vue3自定義指令

2022-08-01 11:41:00

Vue插件

2023-12-01 09:02:57

Vue3WangEditor

2022-08-21 09:41:42

ReactVue3前端

2024-08-12 08:33:05

2022-02-22 13:14:30

Vue自定義指令注冊

2024-01-25 09:09:00

fsp幀數(shù)游戲

2025-05-13 09:53:42

Vue3JavaScript開發(fā)

2021-03-31 08:01:50

Vue3 Vue2 Vue3 Telepo

2021-12-01 08:11:44

Vue3 插件Vue應用

2021-07-05 15:35:47

Vue前端代碼

2023-11-28 09:03:59

Vue.jsJavaScript

2021-12-02 05:50:35

Vue3 插件Vue應用

2020-09-19 21:15:26

Composition

2021-02-18 08:19:21

Vue自定義Vue 3.0

2024-06-03 10:00:51

Vue 3語法插槽

2022-03-11 09:10:10

hooksReact自定義
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 91av在线免费播放 | 亚洲一区 | 欧美日韩精品一区二区 | 少妇精品亚洲一区二区成人 | 欧美日韩综合视频 | 中文字幕在线观看av | 在线四虎 | 成年人视频在线免费观看 | 日韩高清在线 | 成人在线精品 | 九九久久这里只有精品 | 国产精品欧美一区二区三区不卡 | 欧美一区二区成人 | 在线视频国产一区 | 在线视频一区二区 | 亚洲精品久久久一区二区三区 | 久久综合久色欧美综合狠狠 | 狠狠夜夜 | 精品久久久久久久 | 中文字幕一区二区三区乱码在线 | 成人1区2区 | 亚洲欧美精品一区 | 国产欧美精品区一区二区三区 | 黄a在线播放 | 亚洲精品久久久 | 国产美女精品 | 欧美二区三区 | 中文字幕亚洲精品 | 欧美日韩福利 | 久久久久久亚洲国产精品 | 成人三级视频 | 国产一区二区三区四区hd | 欧美二区在线 | 欧美精品一区二区在线观看 | 91在线视频播放 | 日日操视频 | av一区二区三区四区 | 欧美精品在线观看 | 国产精品久久国产精品 | www.久久99 | 草b视频 |