首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Vue 3 获取 DOM

Vue 3 获取 DOM

作者头像
訾博ZiBo
发布2025-01-06 19:23:10
发布2025-01-06 19:23:10
22600
代码可运行
举报
运行总次数:0
代码可运行

Vue 3 获取 DOM

1、方式一:自动绑定

要求: 要求组件必须有 ref 属性,且变量名必须与 ref 属性值相同!

代码示例
代码语言:javascript
代码运行次数:0
运行
复制
<template>
  <div ref="name">
    <h1>訾博</h1>
  </div>
</template>

<script setup lang="ts">
import {onMounted, ref} from "vue";

// 方式一:自动绑定:要求组件必须有 ref 属性,且变量名必须与 ref 属性值相同
const name = ref<any>();
// 这么写打印的是 undefined ,因为 ref 会在组件渲染完成后才会获取到真实的 DOM 元素
console.log("===setup===")
console.log(name.value);

onMounted(() => {
  console.log("===onMounted===")
  console.log(name.value);
});
</script>
打印结果
在这里插入图片描述
在这里插入图片描述

2、方式二:proxy

代码示例
代码语言:javascript
代码运行次数:0
运行
复制
<template>
  <div ref="name">
    <h1>訾博</h1>
  </div>
</template>

<script setup lang="ts">
import { getCurrentInstance, onMounted } from "vue";
// 获取当前实例
const instance = getCurrentInstance();

onMounted(() => {
  if (instance) {
    const proxy = instance.proxy;
    if (proxy) {
      console.log(proxy.$refs.name)
    }
  }
});
</script>
打印结果
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Vue 3 获取 DOM
    • 1、方式一:自动绑定
      • 代码示例
      • 打印结果
    • 2、方式二:proxy
      • 代码示例
      • 打印结果
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档