面试题:vue3获取dom的方式

在 Vue 3 中,可以通过以下几种方式来获取 DOM 元素:

  1. 使用 ref:ref 是 Vue 3 中新增的响应式引用对象。可以通过给 DOM 元素添加 ref 属性来创建一个 ref 对象,并使用该对象来获取 DOM 元素的引用。
html 复制代码
<template>
  <div ref="myElement">Hello Vue 3</div>
</template>

<script>
import { ref, onMounted } from 'vue';

export default {
  setup() {
    const myElement = ref(null);

    onMounted(() => {
      console.log(myElement.value); // 访问 DOM 元素
    });

    return {
      myElement
    };
  }
}
</script>
  1. 使用 document.getElementById 等原生方法:在 Vue 3 的 setup 函数中,可以直接使用 JavaScript 原生的 DOM 操作方法来获取 DOM 元素。
html 复制代码
<template>
  <div id="myElement">Hello Vue 3</div>
</template>

<script>
import { onMounted } from 'vue';

export default {
  setup() {
    onMounted(() => {
      console.log(document.getElementById('myElement')); // 获取 DOM 元素
    });
  }
}
</script>

需要注意的是,在 Vue 3 中,使用原生的 DOM 操作方法来获取 DOM 元素时,应该在 setup 函数中使用 onMounted 钩子函数,以确保 DOM 元素已经渲染完毕。

除了上述方法,还可以使用 document.querySelectordocument.querySelectorAll 等原生方法来获取 DOM 元素。根据实际需求和场景,选择合适的方式来获取 DOM 元素。

相关推荐
anyup_前端梦工厂1 小时前
了解几个 HTML 标签属性,实现优化页面加载性能
前端·html
前端御书房2 小时前
前端PDF转图片技术调研实战指南:从踩坑到高可用方案的深度解析
前端·javascript
2301_789169542 小时前
angular中使用animation.css实现翻转展示卡片正反两面效果
前端·css·angular.js
风口上的猪20153 小时前
thingboard告警信息格式美化
java·服务器·前端
程序员黄同学3 小时前
请谈谈 Vue 中的响应式原理,如何实现?
前端·javascript·vue.js
爱编程的小庄4 小时前
web网络安全:SQL 注入攻击
前端·sql·web安全
宁波阿成4 小时前
vue3里组件的v-model:value与v-model的区别
前端·javascript·vue.js
柯腾啊4 小时前
VSCode 中使用 Snippets 设置常用代码块
开发语言·前端·javascript·ide·vscode·编辑器·代码片段
Jay丶萧邦5 小时前
el-select:有关多选,options选项值不包含绑定值的回显问题
javascript·vue.js·elementui
weixin_535854225 小时前
oppo,汤臣倍健,康冠科技,高途教育25届春招内推
c语言·前端·嵌入式硬件·硬件工程·求职招聘