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

Vue3三款爆款實(shí)用插件教程(剛需實(shí)用)

 更新時間:2026年03月19日 11:49:16   作者:青嶼ovo  
Vue被一個健康的插件和包的生態(tài)系統(tǒng)所加強(qiáng),使開發(fā)變得可靠、快速和簡單, 由于Vue是一個國際開發(fā)者社區(qū)所選擇的框架,所以有一個不斷增長的插件和包庫,你可以在項(xiàng)目中使用,這篇文章主要介紹了Vue3三款爆款實(shí)用插件教程的相關(guān)資料,需要的朋友可以參考下

開篇說明 

本文為全新原創(chuàng)插件教程,避開所有之前用過的插件,精選「網(wǎng)上搜索量TOP3、90%項(xiàng)目必用」的Vue3爆款插件,主打極簡可復(fù)制、新手零門檻,每款插件只講核心用法+避坑,開發(fā)時直接抄作業(yè),有錯歡迎指出來~

三款高頻爆款插件(搜索量拉滿,剛需實(shí)用)

精選插件:VueUse(萬能工具集)、vue-i18n(國際化)、Vant 4(移動端UI組件庫),均為Vue3生態(tài)搜索量TOP級,覆蓋工具、多語言、移動端開發(fā)三大高頻場景,實(shí)用性拉滿!

一、VueUse(搜索量TOP1,Vue3萬能工具集)

VueUse 是Vue3生態(tài)最火的工具集插件,搜索量常年穩(wěn)居前列,封裝了100+常用工具(防抖節(jié)流、本地存儲、窗口操作、權(quán)限判斷等),不用重復(fù)造輪子,極大提升開發(fā)效率,新手必備,一行代碼調(diào)用,無需復(fù)雜配置。

1. 安裝VueUse

# npm安裝(推薦)
npm install @vueuse/core
# yarn安裝
yarn add @vueuse/core

2. 核心用法(4個高頻工具,極簡示例可復(fù)制)

VueUse 無需全局配置,引入即用,以下是開發(fā)中最常用的4個工具,覆蓋80%使用場景:

(1)useLocalStorage(本地存儲,替代localStorage原生寫法)

核心優(yōu)勢:自動實(shí)現(xiàn)響應(yīng)式,無需手動JSON.parse/JSON.stringify,刷新頁面數(shù)據(jù)不丟失。

<script setup>
// 引入工具(按需引入,不浪費(fèi)體積)
import { useLocalStorage } from '@vueuse/core'
import { ref } from 'vue'

// 用法:參數(shù)1=存儲key,參數(shù)2=默認(rèn)值(自動響應(yīng)式)
const userInfo = useLocalStorage('userInfo', { name: '測試', age: 20 })
const token = useLocalStorage('token', '')

// 直接修改,自動同步到localStorage(無需手動setItem)
const updateUser = () => {
  userInfo.value.name = '新名字' // 自動同步到localStorage
  token.value = 'abc123456' // 自動同步
}

// 清空存儲
const clearStorage = () => {
  userInfo.value = null
  token.value = ''
}
</script>

<template>
  <div>
    <p>用戶名:{{ userInfo.name }}</p>
    <button @click="updateUser">修改用戶信息</button>
    <button @click="clearStorage">清空存儲</button>
  </div>
</template>

(2)useDebounceFn(防抖,解決頻繁觸發(fā)問題)

高頻場景:搜索框輸入、按鈕頻繁點(diǎn)擊、滾動事件,避免多次觸發(fā)接口/方法,提升性能。

<script setup>
import { useDebounceFn } from '@vueuse/core'
import { ref } from 'vue'

const inputVal = ref('')

// 防抖方法:參數(shù)1=要防抖的函數(shù),參數(shù)2=防抖時間(ms)
const search = useDebounceFn((val) => {
  // 模擬搜索接口請求(防抖后,輸入停止500ms才觸發(fā))
  console.log('搜索關(guān)鍵詞:', val)
}, 500)

// 輸入框輸入時觸發(fā)防抖方法
const handleInput = (e) => {
  inputVal.value = e.target.value
  search(inputVal.value)
}
</script>

<template>
  <input 
    v-model="inputVal" 
    placeholder="請輸入搜索關(guān)鍵詞"
    @input="handleInput"
  />
</template>

(3)useThrottleFn(節(jié)流,控制方法觸發(fā)頻率)

高頻場景:滾動加載、resize事件,控制方法每隔固定時間只能觸發(fā)一次,區(qū)別于防抖(停止輸入才觸發(fā))。

<script setup>
import { useThrottleFn } from '@vueuse/core'

// 節(jié)流方法:每隔1000ms只能觸發(fā)一次
const handleScroll = useThrottleFn(() => {
  console.log('滾動事件觸發(fā)(節(jié)流):', window.scrollY)
}, 1000)

// 監(jiān)聽滾動事件
window.addEventListener('scroll', handleScroll)

// 組件卸載時移除監(jiān)聽(避免內(nèi)存泄漏)
onUnmounted(() => {
  window.removeEventListener('scroll', handleScroll)
})
</script>

(4)useWindowSize(監(jiān)聽窗口大小,適配響應(yīng)式)

高頻場景:響應(yīng)式布局、適配移動端/PC端,自動監(jiān)聽窗口寬高變化,無需手動寫resize事件。

<script setup>
import { useWindowSize } from '@vueuse/core'

// 自動監(jiān)聽窗口寬高,響應(yīng)式變化
const { width, height } = useWindowSize()

// 可直接判斷設(shè)備類型(比如移動端寬小于768px)
const isMobile = computed(() => {
  return width.value < 768
})
</script>

<template>
  <div>
    <p>窗口寬度:{{ width }}px</p>
    <p>窗口高度:{{ height }}px</p>
    <p v-if="isMobile">當(dāng)前為移動端布局</p>
    <p v-else>當(dāng)前為PC端布局</p>
  </div>
</template>

3. 核心避坑

  • ?? 避坑1:VueUse 支持按需引入,不要全局引入所有工具(會增加項(xiàng)目體積),用什么引什么。

  • ?? 避坑2:useLocalStorage 存儲復(fù)雜數(shù)據(jù)(對象/數(shù)組)時,無需手動序列化,直接賦值即可。

  • ?? 避坑3:監(jiān)聽類工具(如useWindowSize、useScroll),組件卸載時無需手動清除,VueUse會自動清理,避免內(nèi)存泄漏。

二、vue-i18n(搜索量TOP2,國際化必備插件)

vue-i18n 是Vue3官方推薦的國際化插件,搜索量常年穩(wěn)居前列,高頻用于多語言項(xiàng)目(中/英/日等),支持文本翻譯、日期/數(shù)字格式化,配置簡單,切換語言無刷新,企業(yè)級項(xiàng)目必用。

1. 安裝vue-i18n

# npm安裝(推薦)
npm install vue-i18n@9
# yarn安裝
yarn add vue-i18n@9

?? 注意:Vue3 必須安裝 vue-i18n@9+ 版本,低版本不兼容。

2. 全局配置(3步搞定,一次配置全局可用)

步驟1:創(chuàng)建多語言文件(src/lang目錄)

在src目錄下新建lang文件夾,創(chuàng)建中文(zh-CN.js)、英文(en-US.js)兩個語言文件(可擴(kuò)展其他語言):

// src/lang/zh-CN.js(中文)
export default {
  home: '首頁',
  about: '關(guān)于我們',
  login: '登錄',
  username: '用戶名',
  password: '密碼',
  submit: '提交',
  switchLang: '切換語言'
}

// src/lang/en-US.js(英文)
export default {
  home: 'Home',
  about: 'About Us',
  login: 'Login',
  username: 'Username',
  password: 'Password',
  submit: 'Submit',
  switchLang: 'Switch Language'
}

步驟2:配置i18n(src/lang/index.js)

// src/lang/index.js
import { createI18n } from 'vue-i18n'
// 引入多語言文件
import zhCN from './zh-CN'
import enUS from './en-US'

// 創(chuàng)建i18n實(shí)例
const i18n = createI18n({
  legacy: false, // 必須設(shè)為false,適配Vue3的<script setup>語法糖
  locale: 'zh-CN', // 默認(rèn)語言(中文)
  fallbackLocale: 'en-US', // 備用語言(當(dāng)默認(rèn)語言沒有對應(yīng)翻譯時,使用英文)
  messages: {
    'zh-CN': zhCN, // 中文語言包
    'en-US': enUS  // 英文語言包
  }
})

export default i18n

步驟3:全局注冊(main.js)

// main.js
import { createApp } from 'vue'
import App from './App.vue'
import i18n from './lang' // 引入i18n配置

const app = createApp(App)
app.use(i18n) // 全局注冊i18n
app.mount('#app')

3. 組件內(nèi)使用(極簡示例,翻譯+切換語言)

<script setup>
// 引入useI18n,獲取翻譯方法和語言切換方法
import { useI18n } from 'vue-i18n'

// 解構(gòu)t(翻譯方法)、locale(當(dāng)前語言)、setLocale(切換語言)
const { t, locale, setLocale } = useI18n()

// 切換語言方法(中文 ? 英文)
const switchLanguage = () => {
  if (locale.value === 'zh-CN') {
    setLocale('en-US') // 切換為英文
  } else {
    setLocale('zh-CN') // 切換為中文
  }
}
</script>

<template>
  <div class="lang-demo">
    <h1>{{ t('home') }}</h1>
    <div class="login-form">
      <label>{{ t('username') }}:</label>
      <input placeholder="{{ t('username') }}" />
      
      <label>{{ t('password') }}:</label>
      <input type="password" placeholder="{{ t('password') }}" />
      
      <button @click="switchLanguage">{{ t('switchLang') }}</button>
      <button>{{ t('submit') }}</button>
    </div>
  </div>
</template>

4. 核心避坑

  • ?? 避坑1:必須設(shè)置 legacy: false,否則

  • ?? 避坑2:翻譯關(guān)鍵詞(如home、username)必須和語言文件中的關(guān)鍵詞完全一致,否則無法顯示翻譯。

  • ?? 避坑3:切換語言后,頁面會自動刷新翻譯內(nèi)容,無需手動刷新頁面,復(fù)雜數(shù)據(jù)也會自動適配。

三、Vant 4(搜索量TOP3,移動端UI組件庫)

Vant 4 是Vue3生態(tài)最火的移動端UI組件庫,搜索量穩(wěn)居移動端UI榜首,由有贊團(tuán)隊(duì)開發(fā),封裝了60+移動端常用組件(按鈕、表單、彈窗、輪播、導(dǎo)航等),適配各種移動端設(shè)備,樣式美觀、可自定義,快速搭建移動端頁面,企業(yè)級移動端項(xiàng)目首選。

1. 安裝Vant 4

# npm安裝(推薦)
npm install vant
# yarn安裝
yarn add vant

2. 全局配置(新手首選,一次配置全局可用)

// main.js
import { createApp } from 'vue'
import App from './App.vue'
// 1. 引入Vant核心和樣式
import Vant from 'vant'
import 'vant/lib/index.css'

const app = createApp(App)
app.use(Vant) // 全局注冊Vant,所有組件可直接使用
app.mount('#app')

進(jìn)階:按需引入(精簡體積),新手可先全局引入,后期優(yōu)化時再改為按需引入。

3. 組件內(nèi)使用(3個高頻組件,移動端必備)

精選移動端開發(fā)最常用的3個組件,示例可直接復(fù)制,適配各種移動端場景:

(1)Button(按鈕組件,移動端高頻)

<template>
  <div class="button-demo">
    <!-- 基礎(chǔ)按鈕 -->
    <van-button>默認(rèn)按鈕</van-button>
    
    <!-- 不同類型按鈕(主色/成功/危險(xiǎn)) -->
    <van-button type="primary">主色按鈕</van-button>
    <van-button type="success">成功按鈕</van-button>
    <van-button type="danger">危險(xiǎn)按鈕</van-button>
    
    <!-- 禁用狀態(tài)/加載狀態(tài) -->
    <van-button disabled>禁用按鈕</van-button>
    <van-button loading>加載中按鈕</van-button>
    
    <!-- 自定義大小/顏色 -->
    <van-button size="small">小尺寸按鈕</van-button>
    <van-button color="#42b983">自定義顏色按鈕</van-button>
  </div>
</template>

(2)Swipe(輪播組件,首頁必備)

<template>
  <!-- 輪播組件(自動播放、指示器、點(diǎn)擊切換) -->
  <van-swipe class="swipe-demo" autoplay interval="3000" indicator-color="#fff">
    <van-swipe-item>
      <img src="/images/banner1.jpg" alt="輪播圖1" class="swipe-img" />
    </van-swipe-item>
    <van-swipe-item>
      <img src="/images/banner2.jpg" alt="輪播圖2" class="swipe-img" />
    </van-swipe-item>
    <van-swipe-item>
      <img src="/images/banner3.jpg" alt="輪播圖3" class="swipe-img" />
    </van-swipe-item>
  </van-swipe>
</template>

<style scoped>
.swipe-demo {
  height: 180px; /* 移動端輪播圖常用高度 */
}
.swipe-img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* 圖片自適應(yīng),不拉伸 */
}
</style>

(3)Form(表單組件,登錄/注冊必備)

<script setup>
import { ref } from 'vue'
import { useToast } from 'vant' // 引入Vant的提示組件(配合表單校驗(yàn))

const toast = useToast()
// 表單數(shù)據(jù)
const form = ref({
  username: '',
  password: ''
})

// 表單校驗(yàn)+提交
const handleSubmit = () => {
  if (!form.value.username) {
    toast('請輸入用戶名')
    return
  }
  if (!form.value.password) {
    toast('請輸入密碼')
    return
  }
  // 校驗(yàn)通過,提交表單(模擬登錄接口)
  console.log('表單提交:', form.value)
  toast.success('登錄成功')
}
</script>

<template>
  <div class="form-demo">
    <van-form @submit="handleSubmit">
      <van-field
        v-model="form.username"
        label="用戶名"
        placeholder="請輸入用戶名"
        required
      />
      <van-field
        v-model="form.password"
        label="密碼"
        type="password"
        placeholder="請輸入密碼"
        required
      />
      <van-button type="primary" block native-type="submit">登錄</van-button>
    </van-form>
  </div>
</template>

4. 核心避坑

  • ?? 避坑1:Vant 4 僅適配Vue3,Vue2項(xiàng)目需使用Vant 2版本,不要裝錯版本。

  • ?? 避坑2:移動端組件需配合viewport配置(public/index.html),否則樣式錯亂。

  • ?? 避坑3:表單組件的native-type="submit"不要遺漏,否則表單提交事件無法觸發(fā)。

<!-- public/index.html 必須添加viewport配置(移動端適配) -->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">

四、插件總結(jié)(重點(diǎn)提煉,快速記憶)

  • ? VueUse:萬能工具集,搜索量TOP1,防抖節(jié)流、本地存儲等100+工具,引入即用,不用造輪子。

  • ? vue-i18n:國際化必備,搜索量TOP2,多語言切換無刷新,配置簡單,企業(yè)級項(xiàng)目必用。

  • ? Vant 4:移動端UI首選,搜索量TOP3,組件豐富、樣式美觀,快速搭建移動端頁面。

?? 小技巧:這3款插件覆蓋Vue3項(xiàng)目90%的高頻場景,示例可直接復(fù)制到項(xiàng)目中使用,無需復(fù)雜修改;后續(xù)開發(fā)遇到工具、多語言、移動端相關(guān)需求,直接查這篇即可!

總結(jié)

到此這篇關(guān)于Vue3三款爆款實(shí)用插件教程的文章就介紹到這了,更多相關(guān)Vue3爆款實(shí)用插件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue 實(shí)現(xiàn)移動端鍵盤搜索事件監(jiān)聽

    vue 實(shí)現(xiàn)移動端鍵盤搜索事件監(jiān)聽

    今天小編就為大家分享一篇vue 實(shí)現(xiàn)移動端鍵盤搜索事件監(jiān)聽,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Vue3+Hooks實(shí)現(xiàn)4位隨機(jī)數(shù)和60秒倒計(jì)時的示例代碼

    Vue3+Hooks實(shí)現(xiàn)4位隨機(jī)數(shù)和60秒倒計(jì)時的示例代碼

    Vue3的Hooks是一種新的 API,本文主要介紹了Vue3+Hooks實(shí)現(xiàn)4位隨機(jī)數(shù)和60秒倒計(jì)時的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-04-04
  • 基于vue1和vue2獲取dom元素的方法

    基于vue1和vue2獲取dom元素的方法

    下面小編就為大家分享一篇基于vue1和vue2獲取dom元素的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • Vue-input框checkbox強(qiáng)制刷新問題

    Vue-input框checkbox強(qiáng)制刷新問題

    這篇文章主要介紹了Vue-input框checkbox強(qiáng)制刷新問題,非常不錯,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04
  • vue webpack實(shí)用技巧總結(jié)

    vue webpack實(shí)用技巧總結(jié)

    本篇文章給大家總結(jié)了vue+webpack的實(shí)用技巧以及相關(guān)實(shí)例代碼分享,有興趣的朋友可以參考學(xué)習(xí)下。
    2018-04-04
  • Vue如何監(jiān)聽元素寬高變化

    Vue如何監(jiān)聽元素寬高變化

    這篇文章主要介紹了Vue如何監(jiān)聽元素寬高變化問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Vue API中setup ref reactive函數(shù)使用教程

    Vue API中setup ref reactive函數(shù)使用教程

    setup是用來寫組合式api,內(nèi)部的數(shù)據(jù)和方法需要通過return之后,模板才能使用。在之前vue2中,data返回的數(shù)據(jù),可以直接進(jìn)行雙向綁定使用,如果我們把setup中數(shù)據(jù)類型直接雙向綁定,發(fā)現(xiàn)變量并不能實(shí)時響應(yīng)。接下來就詳細(xì)看看它們的使用
    2022-12-12
  • Vue簡化用戶查詢/添加功能的實(shí)現(xiàn)

    Vue簡化用戶查詢/添加功能的實(shí)現(xiàn)

    本文主要介紹了Vue簡化用戶查詢/添加功能的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Vue實(shí)現(xiàn)下載文件而非瀏覽器直接打開的方法

    Vue實(shí)現(xiàn)下載文件而非瀏覽器直接打開的方法

    對于瀏覽器來說,文本、圖片等可以直接打開的文件,不會進(jìn)行自動下載,下面這篇文章主要給大家介紹了關(guān)于Vue實(shí)現(xiàn)下載文件而非瀏覽器直接打開的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • 8個非常實(shí)用的Vue自定義指令

    8個非常實(shí)用的Vue自定義指令

    這篇文章主要介紹了8個非常實(shí)用的Vue自定義指令,幫助大家更好的理解和使用vue,感興趣的朋友可以了解下
    2020-12-12

最新評論

石河子市| 龙江县| 华容县| 宁蒗| 黎平县| 益阳市| 崇仁县| 铜鼓县| 公安县| 文昌市| 九龙坡区| 台北县| 辰溪县| 灵璧县| 安宁市| 赤壁市| 北宁市| 乌什县| 开原市| 阿坝县| 长兴县| 延寿县| 上饶县| 军事| 玛沁县| 马边| 河津市| 汤阴县| 高尔夫| 长寿区| 莱阳市| 大方县| 丰县| 永丰县| 建始县| 徐闻县| 大英县| 秦皇岛市| 普定县| 华池县| 社会|