iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >VueUse功能精简你的dependencies
  • 113
分享到

VueUse功能精简你的dependencies

2024-04-02 19:04:59 113人浏览 独家记忆
摘要

目录引言使用前安装网页全屏剪切板取色器拖拽元素本地缓存其他安全区域动态修改favicon引言 VueUse是一个基于Composition api的实用函数集合,支持Vue2和vue

引言

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的资料请关注编程网其它相关文章!

--结束END--

本文标题: VueUse功能精简你的dependencies

本文链接: https://www.lsjlt.com/news/153757.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • VueUse功能精简你的dependencies
    目录引言使用前安装网页全屏剪切板取色器拖拽元素本地缓存其他安全区域动态修改favicon引言 VueUse是一个基于Composition API的实用函数集合,支持Vue2和Vue...
    99+
    2022-11-13
  • Win10系统怎么精简 Win10系统精简功能图文教程
    随着微软彻底放弃win7的更新,win8的弱势,新一代的win10系统则成为了微软着力打造的王牌系统。 作为微软最新的王牌产品,win10系统从功能到外观都有着超过前代产品的亮眼设计和性能体验,然而各种捆绑程序的附加,以...
    99+
    2023-05-21
    win10系统精简
  • win10占空间怎么办 win10精简功能教程
    win10正式版即将推出,很多网友已经提前使用起了预览版,win10占空间怎么办?其实我们可以停用一些功能,下面小编就来教大家一些win10精简功能教程。 win10占空间怎么办 win10精简功能教程 Windows...
    99+
    2023-06-13
    win10 空间 教程 功能
  • 怎么使用Lombok来精简你的项目代码
    这篇文章主要介绍怎么使用Lombok来精简你的项目代码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!什么是Lombok一言以蔽之:lombok是一种工具,提供了简单的注解来简化我们的重复冗长Java代码。比如一个Ja...
    99+
    2023-06-17
  • 一篇文章教你从入门到精通 Google 指纹验证功能
    本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/EHomjBy4Tvm8u962J6ZgsA作者:Sun DaxiangGoogle 从 Android 6.0开始,提供了开...
    99+
    2023-06-04
  • Spring中的重定向功能简介:你需要了解的Python知识?
    Spring是一个流行的Java框架,它提供了许多有用的功能,包括重定向。重定向是指将请求从一个URL地址重定向到另一个URL地址。在Spring中,可以使用重定向来实现各种功能,如在用户登录后将其重定向到主页。 在本文中,我们将介绍Sp...
    99+
    2023-10-07
    重定向 学习笔记 spring
  • 简介Redis中的showlog功能
    Redis 有一个实用的slowlog功能,正如你可以猜到的,可以让你检查运行缓慢的查询. Slowlog 将会记录运行时间超过Y微秒的最后X条查询. X 和 Y 可以在 redis.conf 或者在运行时...
    99+
    2022-06-04
    功能 简介 Redis
  • PowerShell实现简单的grep功能
    在PowerShell中,无法像*nix中一样使用grep命令,直接对一个目录下的所有文件进行内容查找,下面的PS脚本针对目录和文件进行了区分,借用Select-String命令,实现了内容查找,并显示查找...
    99+
    2022-06-04
    简单 功能 PowerShell
  • GO语言开发者必看!SPRING框架中的NUMY功能能否让你的代码更简洁?
    随着计算机技术的不断发展,越来越多的编程语言和框架被开发出来。其中,GO语言和SPRING框架都备受开发者的青睐。而最近,SPRING框架中的NUMY功能引起了很多GO语言开发者的关注。那么,这个功能到底是什么?能否让你的代码更简洁?让我...
    99+
    2023-06-13
    ide spring numy
  • vue实现简单的分页功能
    前端Vue实现分页功能,供大家参考,具体内容如下 我们都知道在spring boot项目中安装pagehelper可以实现分页功能,但是在vue中也能在前端实现分页。 1、首先,在d...
    99+
    2022-11-13
  • android 照相功能的简单实例
    在android中,照相功能系统已经提供,在app中可以直接使用。当手机从android play里面下载有照相功能的应用时, 会判断手机是否支持。不支持,不给予下载。照相有几...
    99+
    2022-06-06
    Android
  • react实现简单的拖拽功能
    本文实例为大家分享了react实现简单的拖拽功能的具体代码,供大家参考,具体内容如下 src文件夹下新建文件夹demo  然后在创建两个文件js和css demo.js文...
    99+
    2022-11-13
  • springSecurity实现简单的登录功能
    前言 1、不使用数据库,实现一个简单的登录功能,只有在登录后才能访问我们的接口2、springSecurity提供了一种基于内存的验证方法(使用自己定义的用户,不使用默认的) 一、实...
    99+
    2022-11-13
  • Android实现简易的闹钟功能
    本文实例为大家分享了Android实现简易的闹钟功能的具体代码,供大家参考,具体内容如下 主要是通过广播,实现一个闹钟的简易功能。 实现效果如下: 主界面为一个简易的设置闹钟Butt...
    99+
    2022-11-13
  • Android实现简单的照相功能
    一个简单的照相功能,拍照之后在另一个activit中显示出拍照的图片。首先是布局文件: <xml version="1.0" encoding="utf-8"> <...
    99+
    2022-11-13
  • 9种你不知道的Python3功能
    1. 数据类(Data Classes):Python 3.7中引入了数据类,它们是一种用于定义只包含数据的类的简化语法。通过使用装...
    99+
    2023-09-23
    Python3
  • 简述什么是云服务器的简称和功能
    云服务器的主要功能包括: 负载均衡:云服务器可以为多个用户分配相同的内存和CPU资源,以应对高并发请求,提高服务器的响应速度和性能。 弹性伸缩:云服务器可以按需提供资源,避免了用户需要购买新的硬件资源来满足不同应用程序的需求。 数据备份...
    99+
    2023-10-27
    功能 服务器
  • PowerShell如何实现简单的grep功能
    这篇文章将为大家详细讲解有关PowerShell如何实现简单的grep功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在PowerShell中,无法像*nix中一样使用grep命令,直接对一个目录下的所...
    99+
    2023-06-09
  • C++实现简单的计算器功能
    用C++编写简单计算器,供大家参考,具体内容如下 限制: 1、只能使用分支语句与循环语句;2、不能使用数组和自定义函数;(即把自己当作只学到分支语句和循环语句的初学者) 计算器要求:...
    99+
    2022-11-13
  • 基于JavaScript的简易计算器功能
    本文实例为大家分享了JavaScript实现简易计算器功能的具体代码,供大家参考,具体内容如下 效果图: 源代码: <!DOCTYPE html> <html&g...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作