vue3如何获取绑定页面dom元素

 更新时间:2023年11月15日 10:19:26   作者:梦落飞雪  
这篇文章主要介绍了vue3如何获取绑定页面dom元素问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

vue3获取绑定页面dom元素

和vue2一样,vue3也可以在页面上通过ref绑定一个变量,

<div ref="domRef"></div>

但vue2使用this.$refs可以获取绑定的变量,而vue3虽然已经删除了this,但可以用以下方法绑定元素

在setup方法中使用vue提供的ref绑定元素,网上大部分是使用

import { onMounted, ref } from "vue";
export default{
    setup() {
        const domRef = ref(null)
        onMounted(() => {
            console.log(domRef.value)
        })
        retrurn {
            domRef
        }
    }
}

其实这还有优化的空间,我们使用vue3比较重要的是使用ts语法,那么怎么指定ref绑定的dom的class对象呢,

我们可以不用在ref中写null,在ref中指定某个类的原型,那么value就是这个类的对象,

我们可以使用js本身就有的Element对象,也可以自定义一个,

最终代码如下所示:

① Ele.ts文件

用于声明class类局部使用,也可以使用.d.ts文件直接全局声明

export default class Ele {
  // eslint-disable-next-line @typescript-eslint/no-empty-function
  constructor() {}
  clientHeight!: number;
  clientWidth!: number;
  style!: {
    top: number | string;
    left: number | string;
    bottom: number | string;
    right: number | string;
    display: "inline-block" | "none";
  };
}

② 通过Ele绑定ref

import { onMounted, ref } from "vue";
import Ele from "@/class/Ele";
export default{
    setup() {
        const domRef = ref(Ele.prototype)
        onMounted(() => {
            const dom: Ele = domRef.value;
            console.log(dom)
        })
        retrurn {
            domRef
        }
    }
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue 行为验证码之滑动验证AJ-Captcha使用详解

    vue 行为验证码之滑动验证AJ-Captcha使用详解

    这篇文章主要介绍了vue 行为验证码之滑动验证AJ-Captcha使用详解,AJ-Captcha不需要npm安装,只需要将组件 verifition复制到所使用的components目录下,本文给大家详细讲解,需要的朋友可以参考下
    2023-05-05
  • vue webpack开发访问后台接口全局配置的方法

    vue webpack开发访问后台接口全局配置的方法

    今天小编就为大家分享一篇vue webpack开发访问后台接口全局配置的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • 如何解决.vue文件url引用文件的问题

    如何解决.vue文件url引用文件的问题

    这篇文章主要介绍了解决.vue文件url引用文件的问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • vue实现简单转盘抽奖功能

    vue实现简单转盘抽奖功能

    这篇文章主要为大家详细介绍了vue实现简单转盘抽奖功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • 详解vue-loader在项目中是如何配置的

    详解vue-loader在项目中是如何配置的

    这篇文章主要介绍了详解vue-loader在项目中是如何配置的,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • 解决vue脚手架项目打包后路由视图不显示的问题

    解决vue脚手架项目打包后路由视图不显示的问题

    今天小编就为大家分享一篇解决vue脚手架项目打包后路由视图不显示的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • Vuex的五大核心详细讲解

    Vuex的五大核心详细讲解

    这篇文章主要为大家介绍了vuex的五个核心概念和基本使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-09-09
  • Element中el-form表单举例详解

    Element中el-form表单举例详解

    Form组件提供了表单验证的功能,只需要通过属性传入约定的验证规则,并将Form-Item的属性设置为需校验的字段名即可,下面这篇文章主要给大家介绍了关于Element中el-form表单的相关资料,需要的朋友可以参考下
    2023-01-01
  • vue如何实现Toast轻提示

    vue如何实现Toast轻提示

    这篇文章主要介绍了vue如何实现Toast轻提示,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • Vue移动端下拉刷新组件的使用教程

    Vue移动端下拉刷新组件的使用教程

    这篇文章主要介绍了Vue移动端下拉刷新组件的使用教程,每一次我在使用vant组件库里面list组件和下拉刷新连在一起用的时候都会出现下拉刷新和列表下滑局部滚动的冲突,这就很难受,这篇文章将解决它
    2023-04-04

最新评论