我的编程空间,编程开发者的网络收藏夹
学习永远不晚

VueUse功能精简你的dependencies

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

VueUse功能精简你的dependencies

引言

VueUse是一个基于Composition API的实用函数集合,支持Vue2Vue3,使用它可以帮助我们快速实现日常开发中一些常见的需求。本文将分享列举几个常见的需求来通过VueUse实现,让大家感受其魅力!

使用前安装

Vue3:

npm i @vueuse/core --save

Vue2 的话还需要额外安装 @vue/composition-api

npm i @vue/composition-api --save

网页全屏

在后台管理系统中,往往都有一个开启网页全屏的功能,大部分都是使用screenfull插件实现的。

VueUse里为我们提供了相关的API,让我们可以轻松的实现网页全屏。

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

useFullscreen也支持传入某个元素,这样只会对该元素区域进行全屏显示。

<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插件来实现的,同样的,用VueUse也可以轻松实现。

<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('我是被复制的内容').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>

调用open函数即可打开取色器,在任意地方点击鼠标左键即可响应式得到颜色。

拖拽元素

<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>

简单的几行代码就能让元素可拖拽。

本地缓存

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

上面的代码会以test作为key存入一个对象,返回值是一个ref类型。

该操作可以让我们不用像使用原生API一样进行 json to string 的转换。

接着我们便可以很方便的操作对象里的某一个字段,而不需要我们使用原生API那样取出一整个对象再进行替换,可以说是非常令人舒适了。

state.value.id == 'abc' // 查看localStorage可以发现id被更改为abc

使用sessionStorage方式:

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

其他

安全区域

使用useScreenSafeArea可以轻松获得屏幕的安全区域距离,再也不用担心刘海屏和底部安全距离了。

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

动态修改favicon

如果在项目里需要我们去动态修改favicon,创建标签、添加元素、替换地址等等操作,虽然代码量也不是很多,但显然用下面的方式要方便得多了。

<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>

如上,我们可以动态的将一张图片设置为网站的icon。

以上就是VueUse功能精简你的dependencies的详细内容,更多关于VueUse精简dependencies的资料请关注编程网其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

VueUse功能精简你的dependencies

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Win10系统怎么精简 Win10系统精简功能图文教程

随着微软彻底放弃win7的更新,win8的弱势,新一代的win10系统则成为了微软着力打造的王牌系统。 作为微软最新的王牌产品,win10系统从功能到外观都有着超过前代产品的亮眼设计和性能体验,然而各种捆绑程序的附加,以及诸多不接地气的系统
2023-05-21

win10占空间怎么办 win10精简功能教程

win10正式版即将推出,很多网友已经提前使用起了预览版,win10占空间怎么办?其实我们可以停用一些功能,下面小编就来教大家一些win10精简功能教程。 win10占空间怎么办 win10精简功能教程 Windows 10 免费升级助手
2023-06-13

HTML 空元素:精简你的代码,提升你的排名

精简代码,提升排名:HTML 空元素的 SEO 优势
HTML 空元素:精简你的代码,提升你的排名
2024-03-03

怎么使用Lombok来精简你的项目代码

这篇文章主要介绍怎么使用Lombok来精简你的项目代码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!什么是Lombok一言以蔽之:lombok是一种工具,提供了简单的注解来简化我们的重复冗长Java代码。比如一个Ja
2023-06-17

简介Redis中的showlog功能

Redis 有一个实用的slowlog功能,正如你可以猜到的,可以让你检查运行缓慢的查询. Slowlog 将会记录运行时间超过Y微秒的最后X条查询. X 和 Y 可以在 redis.conf 或者在运行时通过 CONFIG 命令:CONF
2022-06-04

一篇文章教你从入门到精通 Google 指纹验证功能

本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/EHomjBy4Tvm8u962J6ZgsA作者:Sun DaxiangGoogle 从 Android 6.0开始,提供了开放的指纹识
2023-06-04

PowerShell实现简单的grep功能

在PowerShell中,无法像*nix中一样使用grep命令,直接对一个目录下的所有文件进行内容查找,下面的PS脚本针对目录和文件进行了区分,借用Select-String命令,实现了内容查找,并显示查找到的文件和匹配内容所在行号。 使用
2022-06-04

简述CSS3中的过度功能

编程学习网:这篇文章主要给大家介绍css3提供的新特性,即过度功能,通过这个功能可以实现简单的动态效果。通过CSS3,我们可以在不用flash动画或javaScript的情况下,在元素从一种样式变换为另一种样式时为元素添加效果。
简述CSS3中的过度功能
2024-04-23

你不能不知的Excel检索功能:vlookup

  在Excel众多的实用检索功能中,vlookup一直都很受大家的欢迎,在vlookup函数的使用中,利用vlookup查找返回多个符合条件结果却难倒了不少的小伙伴,所以小编今天就特地为大家整理一下查找返回多个结果的方法,让大家能够熟悉掌握这一部分的内容。  首先我们第一步讲解的是辅助列法  我们先看第一个例子,如下
你不能不知的Excel检索功能:vlookup
2024-04-17

android 照相功能的简单实例

在android中,照相功能系统已经提供,在app中可以直接使用。当手机从android play里面下载有照相功能的应用时, 会判断手机是否支持。不支持,不给予下载。照相有几个步骤:1. 声明权限2. 使用Camera照相3. 显示图片
2022-06-06

9种你不知道的Python3功能

1. 数据类(Data Classes):Python 3.7中引入了数据类,它们是一种用于定义只包含数据的类的简化语法。通过使用装饰器@dataclass,可以自动为类添加属性、构造函数和其他常见方法。2. 上下文变量(Context V
2023-09-23

你不能错过的Excel高级筛选功能

  今天小编要和大家讲解的是Excel中的高级筛选功能,在开讲之前小编先跟大家讲解一下,高级筛选功能哪里“高级”吧!  首先,高级筛选功能可以把结果复制到其他区域或表格中,其次它还可以完成多列联动筛选,比如筛选B列大于A列的数据。不仅如此它还可以筛选非重复的数据,重复的只保留一个。最厉害的是高级
你不能错过的Excel高级筛选功能
2024-04-17

编程热搜

目录