亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

VueUse功能精簡(jiǎn)你的dependencies

 更新時(shí)間:2022年07月07日 11:43:13   作者:小學(xué)生study  
這篇文章主要為大家介紹了VueUse功能精簡(jiǎn)你的dependencies實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

引言

VueUse是一個(gè)基于Composition API的實(shí)用函數(shù)集合,支持Vue2Vue3,使用它可以幫助我們快速實(shí)現(xiàn)日常開發(fā)中一些常見的需求。本文將分享列舉幾個(gè)常見的需求來通過VueUse實(shí)現(xiàn),讓大家感受其魅力!

使用前安裝

Vue3:

npm i @vueuse/core --save

Vue2 的話還需要額外安裝 @vue/composition-api

npm i @vue/composition-api --save

網(wǎng)頁全屏

在后臺(tái)管理系統(tǒng)中,往往都有一個(gè)開啟網(wǎng)頁全屏的功能,大部分都是使用screenfull插件實(shí)現(xiàn)的。

VueUse里為我們提供了相關(guān)的API,讓我們可以輕松的實(shí)現(xiàn)網(wǎng)頁全屏。

<template>
  <el-button @click="toggle">
    {{ isFullscreen ? '退出全屏' : '開啟全屏' }}
  </el-button>
</template>
<script lang="ts" setup>
import { useFullscreen } from '@vueuse/core'
const { isFullscreen, toggle } = useFullscreen()
</script>

useFullscreen也支持傳入某個(gè)元素,這樣只會(huì)對(duì)該元素區(qū)域進(jìn)行全屏顯示。

<template>
  <el-button @click="toggle">
    開啟全屏
  </el-button>
  <div ref="el">把我全屏</div>
</template>
<script lang="ts" setup>
import { useFullscreen } from '@vueuse/core'
const el = ref<HTMLElement | null>(null)
const { toggle } = useFullscreen(el)
</script>

剪切板

以前在Vue2里都是用vue-clipboard2插件來實(shí)現(xiàn)的,同樣的,用VueUse也可以輕松實(shí)現(xiàn)。

<template>
  <el-button @click="onClick">copy</el-button>
</template>
<script lang="ts" setup>
import { useClipboard } from '@vueuse/core'
const { isSupported, copy } = useClipboard()
const onClick = () => {
  if (isSupported) {
    copy('我是被復(fù)制的內(nèi)容').then(() => {
      console.log('copy success')
    })
  } else {
    alert('Your browser does not support Clipboard API')
  }
}
</script>

取色器

<template>
  <div>
    <el-button @click="open">打開取色器</el-button>
    <el-button type="primary" style="width: 100px">按鈕</el-button>
    <p>顏色:{{ sRGBHex }}</p>
  </div>
</template>
<script lang="ts" setup>
import { useEyeDropper } from '@vueuse/core'
const { open, sRGBHex } = useEyeDropper()
</script>

調(diào)用open函數(shù)即可打開取色器,在任意地方點(diǎn)擊鼠標(biāo)左鍵即可響應(yīng)式得到顏色。

拖拽元素

<template>
  <div
    ref="el"
    style="position: fixed; width: 400px; height: 400px; background: red"
    :style="style"
  ></div>
  <p>x: {{ x }},y:{{ y }}</p>
</template>
<script lang="ts" setup>
import { useDraggable } from '@vueuse/core'
const el = ref<HTMLElement | null>(null)
const { x, y, style } = useDraggable(el)
</script>

簡(jiǎn)單的幾行代碼就能讓元素可拖拽。

本地緩存

<script lang="ts" setup>
import { useStorage } from '@vueuse/core'
const state = useStorage('test', { id: 'xxxx', name: 'james' })
</script>

上面的代碼會(huì)以test作為key存入一個(gè)對(duì)象,返回值是一個(gè)ref類型。

該操作可以讓我們不用像使用原生API一樣進(jìn)行 json to string 的轉(zhuǎn)換。

接著我們便可以很方便的操作對(duì)象里的某一個(gè)字段,而不需要我們使用原生API那樣取出一整個(gè)對(duì)象再進(jìn)行替換,可以說是非常令人舒適了。

state.value.id == 'abc' // 查看localStorage可以發(fā)現(xiàn)id被更改為abc

使用sessionStorage方式:

const state = useStorage('test', { id: 'xxxx', name: 'james' }, sessionStorage)

其他

安全區(qū)域

使用useScreenSafeArea可以輕松獲得屏幕的安全區(qū)域距離,再也不用擔(dān)心劉海屏和底部安全距離了。

<script lang="ts" setup>
import { useScreenSafeArea } from '@vueuse/core'
const { top, right, bottom, left } = useScreenSafeArea()
</script>

動(dòng)態(tài)修改favicon

如果在項(xiàng)目里需要我們?nèi)?dòng)態(tài)修改favicon,創(chuàng)建標(biāo)簽、添加元素、替換地址等等操作,雖然代碼量也不是很多,但顯然用下面的方式要方便得多了。

<template>
  <el-button @click="onClick">切換favicon</el-button>
</template>
<script lang="ts" setup>
import { useFavicon } from '@vueuse/core'
import Logo from '@/assets/image/logo.png'
const icon = useFavicon()
const onClick = () => {
  icon.value = Logo
}
</script>

如上,我們可以動(dòng)態(tài)的將一張圖片設(shè)置為網(wǎng)站的icon。

以上就是VueUse功能精簡(jiǎn)你的dependencies的詳細(xì)內(nèi)容,更多關(guān)于VueUse精簡(jiǎn)dependencies的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 基于Vue2實(shí)現(xiàn)印章徽章組件

    基于Vue2實(shí)現(xiàn)印章徽章組件

    這篇文章主要介紹了如何基于vue2實(shí)現(xiàn)簡(jiǎn)單的印章徽章控件,文中通過示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,需要的朋友們下面就跟隨小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-10-10
  • VUE父組件異步獲取數(shù)據(jù),子組件接收的值為空的問題

    VUE父組件異步獲取數(shù)據(jù),子組件接收的值為空的問題

    這篇文章主要介紹了VUE父組件異步獲取數(shù)據(jù),子組件接收的值為空的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Vue0.1的過濾代碼如何添加到Vue2.0直接使用

    Vue0.1的過濾代碼如何添加到Vue2.0直接使用

    Vue0.1的過濾代碼如何添加到Vue2.0直接使用,這篇文章主要介紹了過濾代碼添加到Vue2.0用的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Vue中render方法的使用詳解

    Vue中render方法的使用詳解

    這篇文章主要為大家詳細(xì)介紹了Vue中render方法的使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • vue+axios實(shí)現(xiàn)圖片上傳識(shí)別人臉的示例代碼

    vue+axios實(shí)現(xiàn)圖片上傳識(shí)別人臉的示例代碼

    本文主要介紹了vue+axios實(shí)現(xiàn)圖片上傳識(shí)別人臉,這里采用的是vant的文件上傳組件,通過上傳圖片后端識(shí)別圖片里的人臉,感興趣的可以了解一下
    2021-11-11
  • vue 解決form表單提交但不跳轉(zhuǎn)頁面的問題

    vue 解決form表單提交但不跳轉(zhuǎn)頁面的問題

    今天小編就為大家分享一篇vue 解決form表單提交但不跳轉(zhuǎn)頁面的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • Vue多布局模式實(shí)現(xiàn)方法詳細(xì)講解

    Vue多布局模式實(shí)現(xiàn)方法詳細(xì)講解

    這篇文章主要介紹了Vue多布局模式實(shí)現(xiàn)方法,多布局模式可以根據(jù)用戶角色所在場(chǎng)景切換頁面布局,是非常常見的基礎(chǔ)功能,感興趣的同學(xué)可以參考下文
    2023-05-05
  • Vue中this.$nextTick的作用及用法

    Vue中this.$nextTick的作用及用法

    在本文章里小編給大家整理了關(guān)于Vue中this.$nextTick的作用及用法,有需要的朋友們可以跟著學(xué)習(xí)參考下。
    2020-02-02
  • Vue入門之?dāng)?shù)據(jù)綁定(小結(jié))

    Vue入門之?dāng)?shù)據(jù)綁定(小結(jié))

    本篇文章主要介紹了探索Vue高階組件的使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-01-01
  • 詳解基于mpvue的小程序markdown適配解決方案

    詳解基于mpvue的小程序markdown適配解決方案

    本篇文章主要介紹了詳解基于mpvue的小程序markdown適配解決方案,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05

最新評(píng)論