VUE3中vueuse的使用

1、安装

npm i @vueuse/core

2、新建index.ts文件引入想要使用的方法

/*
 * @description: 自定义 ts
 * @Author: yp
 * @Date: 2024-01-27 
 * @LastEditors: yp
 * @LastEditTime: 2024-01-27
 */
// 【自定义hook】
// 什么是hook?—— 本质是一个函数,把setup函数中使用的Composition API进行了封装,类似于vue2.x中的mixin。

// 自定义hook的优势:复用代码, 让setup中的逻辑更清楚易懂。
import { reactive, onMounted, getCurrentInstance } from 'vue'
import { useLocalStorage, useMouse, usePreferredDark } from '@vueuse/core'

export default function () {
   
    const { x, y } = useMouse()

    // is user prefers dark theme
    const isDark = usePreferredDark()

    // persist state in localStorage
    const LocalStore = useLocalStorage(
      'my-storage',
      {
        name: 'Apple',
        color: 'red',
      },
    )
//   //向外部暴露数据
  return {x, y, isDark, LocalStore }
}

3、在组件中引入

<template>
  <div>
    <div>{{ x }} {{ y }}</div>
  </div>
</template>

<script lang="ts">
// import { logicalExpression } from "@babel/types";
// 在setup语法中,组件导入之后就能够直接使用,不需要使用components进行局部注册

// ref定义数据:操作数据需要 .value ,读取数据时模板中直接读取不需要 .value
// reactive 定义的数据: 操作数据和读取数据均不需要 .value
import {
  defineComponent,
  reactive,
  toRefs,
  ref,
  getCurrentInstance,
  computed,
  watch,
  onMounted,
  onUpdated,
  onUnmounted,
} from "vue";


import useLoginHook from "../hook/login";
export default defineComponent({
  name: "login",
  props: {},

  setup: (props, context) => {
    //     props:值为对象,包含: 组件外部传递过来,且组件内部声明接收了属性
    // context:上下文对象
    // attrs: 值为对象,包含:组件外部传递过来,但没有在props配置中声明的属性,相当于 this.$attrs
    // slots:收到插槽的内容,相当于$slots
    // emit: 分发自定义事件的函数,相当于this.$emit


    const {  x, y, isDark, LocalStore } = useLoginHook();
    let xPoint = ref(x);
    let yPoint = ref(y);


    return {

      x,
      y,
    };
  },
});
</script>

<style lang="less"></style>

 

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Vue3是一种用于构建用户界面的现代化JavaScript框架,它具有响应式数据绑定和组件化的特性。Element UI是Vue.js的一套基于Vue组件的UI库,它提供了丰富的UI组件和交互效果。VueUse是一组适用于Vue框架的常用功能的集合,它包含了许多有用的自定义hook和工具函数。 在使用Vue3和Element UI时,我们可以结合使用VueUse的拖拽功能来实现拖拽效果。VueUse有一个拖拽功能的自定义hook,它可以帮助我们实现元素的拖拽功能。我们需要在Vue组件引入这个拖拽hook,并使用它提供的函数来控制元素的拖拽行为。 首先,我们需要安装VueUse库,并在Vue组件导入拖拽hook。然后在组件的模板,我们可以使用Element UI提供的组件来创建需要拖拽的元素。 接着,在Vue组件的逻辑部分,我们可以使用拖拽hook的函数来设置元素的拖拽行为。其,我们可以使用v-draggable指令来绑定元素的拖拽事件和状态。通过这个指令,我们可以控制元素的拖拽范围、拖拽过程的样式变化以及最终的拖拽结果。 最后,我们可以根据需要在拖拽的过程执行特定的操作,比如更新元素的位置、改变元素的样式等。通过Vue3、Element UI和VueUse的组合,我们可以实现灵活且高效的拖拽功能,提升用户体验和界面交互效果。 综上所述,Vue3、Element UI和VueUse的结合可以实现拖拽功能,让我们的应用更加动态和丰富。通过利用它们提供的特性和功能,我们可以轻松地实现拖拽效果,并提供良好的用户交互体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端你鹏哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值