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

vue3如何使用ref获取元素

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

北京

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

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

看不清楚,换张图片

免费获取短信验证码

vue3如何使用ref获取元素

vue3使用ref获取元素

在vue2.x中,可以通过给元素添加ref='xxx'属性,然后在代码中通过this.$refs.xxx获取到对应的元素

然而在vue3中时没有$refs这个东西的,因此vue3中通过ref属性获取元素就不能按照vue2的方式来获取

vue3需要借助生命周期方法,原因很简单,在setup执行时,template中的元素还没挂载到页面上,所以必须在mounted之后才能获取到元素。

<template>
  <div ref='box'>I am DIV</div>
</template>
<script>
import {ref,onMounted}
export default{
  setup(){
    let box = ref(null);
    onMounted(()=>{
      console.log(box.value)
    });
    return {box}
  }
}
</script>

vue3中ref的理解

1.什么是ref?

ref和reactive一样,也是用来实现响应式数据的方法

由于reactive必须传递一个对象,所以在实际开发中如果只是想让某个变量实现响应式的时候回非常麻烦

所以Vue3提供了ref方法实现简单值得监听

2.ref本质

ref底层其实还是reactive,所以当运行时系统会自动根据传入的ref转换成reactive.

3.ref注意点

在vue中使用ref的值不用通过value获取

在js中使用ref的值必须通过value获取

在这里插入图片描述

4.ref获取元素

在vue2中我们可以通过给元素添加ref=‘xxx’,然后在代码中通过refs.xxx的方式来获取元素,在vue3中也可以通过ref来获取元素.

但不是像以下这种熟悉的方式,因为在vue3中没有$和refs这些东西.

错误示范

在这里插入图片描述

正确写法

<template>
  <div>
    <div ref="box">我是div</div>
  </div>
</template>
<script>
import { ref,onMounted } from "vue";
export default {
  setup() {
    let box = ref(null); //本质是reactive({value:null})
    // 需要在生命周期获取
    onMounted(()=>{
      // 当界面挂载出来后就会自动执行
      console.log(box.value);
    })
    //接受的是null,原因是setup执行时机比mounted早,dom还没形成
    console.log(box.value);
    return { box };
  },
};
</script>

在这里插入图片描述

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

免责声明:

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

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

vue3如何使用ref获取元素

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

下载Word文档

猜你喜欢

vue3中如何通过ref获取元素节点

本文小编为大家详细介绍“vue3中如何通过ref获取元素节点”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue3中如何通过ref获取元素节点”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。通过ref获取元素节点
2023-07-06

一篇文章搞懂Vue3中如何使用ref获取元素节点

过去在Vue2中,我们采用ref来获取标签的信息,用以替代传统js中的DOM行为,下面这篇文章主要给大家介绍了关于如何通过一篇文章搞懂Vue3中如何使用ref获取元素节点的相关资料,需要的朋友可以参考下
2022-11-16

jQuery如何获取元素的子元素?

jQuery获取元素子元素的方法详解jQuery提供多种方法获取元素子元素,包括children()、find()、siblings()等。本文详细介绍了这些方法的使用场景和示例,帮助开发者轻松获取页面元素的子元素。
jQuery如何获取元素的子元素?
2024-04-02

python元组如何获取元素

小编给大家分享一下python元组如何获取元素,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、通过索引获取元素>>> letters = (‘a’, ‘b’,
2023-06-15

jQuery如何在元素上获取父元素?

jQuery获取父元素jQuery提供了以下方法获取元素父元素:parent():直接父元素parents():所有祖先元素closest():匹配选择器的第一个祖先元素parentUntil():匹配选择器之前的第一个祖先元素(不包括选择器本身)parentsUntil():匹配选择器之前的所有祖先元素(不包括选择器本身)还可以结合使用选择器实现更复杂的父元素查找。
jQuery如何在元素上获取父元素?
2024-04-02

jQuery如何获取父元素?

jQuery获取父元素jQuery提供了多种方法来获取父元素,包括parent()、parents()、closest()、ancestors()、parentElement、offsetParent和findParent。这些方法允许您获取直接父元素、所有父元素、指定选择器的父元素或特定层级的父元素。通过使用此功能,您可以有效地在DOM树中导航。
jQuery如何获取父元素?
2024-04-08

DOM中如何获取元素

这篇文章将为大家详细讲解有关DOM中如何获取元素,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。概述DOM (Document objectModal) :文档对象模型。DOM:是浏览器提供的(浏览器特有)
2023-06-27

jQuery如何获取子元素?

jQuery提供多方法获取子元素:children():选择父元素的所有子元素find():在父元素内搜索子元素next():紧跟匹配元素后的同级元素nextAll():紧跟匹配元素后的所有同级元素prev():紧接匹配元素前的同级元素prevAll():紧接匹配元素前的所有同级元素siblings():与匹配元素同级的元素first():匹配元素中的第一个元素last():匹配元素中的最后一个元素eq():匹配元素中的第n个元素
jQuery如何获取子元素?
2024-04-08

JavaScript如何获取DOM元素

小编给大家分享一下JavaScript如何获取DOM元素,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!方法:1、用getElementById方法通过ID获取;2
2023-06-14

vue如何获取dom元素

这篇文章将为大家详细讲解有关vue如何获取dom元素,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。vue获取dom元素的方法:1、给相应的dom元素加id,使用“document.getElementBy
2023-06-25

Vue3通过ref操作Dom元素及hooks的使用方法

这篇文章主要介绍了Vue3通过ref操作Dom元素及hooks的使用方法,需要的朋友可以参考下
2023-01-28

jQuery如何在元素上获取相邻元素?

jQuery获取相邻元素概述jQuery提供以下方法获取元素的相邻同级元素:next():获取后续元素nextAll():获取所有后续元素prev():获取前置元素prevAll():获取所有前置元素siblings():获取所有相邻元素这些方法可与not()结合使用以排除特定元素。示例://获取段落后紧随的非div元素$("p").nextAll().not("div");注意:这些方法只查找相邻同级元素,不包括嵌套元素。
jQuery如何在元素上获取相邻元素?
2024-04-02

编程热搜

目录