Dimples's blog Dimples's blog
首页
  • 前端随笔

    • React
  • 系列文章

    • 《ES6 教程》笔记
    • 《Vue》笔记
    • 《TypeScript》笔记
  • 后端文章

    • Java
    • Python
    • 数据库
  • 学习笔记

    • 《Rust》笔记
    • 《SpringBoot》笔记
    • 《Django》笔记
    • 《Docker》笔记
    • 《Python爬虫》笔记
技术分享
友情链接
索引
关于
GitHub (opens new window)

DimplesY

不会写代码
首页
  • 前端随笔

    • React
  • 系列文章

    • 《ES6 教程》笔记
    • 《Vue》笔记
    • 《TypeScript》笔记
  • 后端文章

    • Java
    • Python
    • 数据库
  • 学习笔记

    • 《Rust》笔记
    • 《SpringBoot》笔记
    • 《Django》笔记
    • 《Docker》笔记
    • 《Python爬虫》笔记
技术分享
友情链接
索引
关于
GitHub (opens new window)
  • 基础

  • 组件

  • 过渡&动画

  • 可复用性&组合

  • 工具

  • 规模化

  • Vuex

  • Vue小技巧

    • Vue 获取渲染后的 DOM
      • 一、获取普通 DOM 元素
      • 二、获取 Vue Component
        • 1、新建如下 Vue 文件
        • 3、将组件引入到 app.vue 当中
  • 其他

  • 《Vue》笔记
  • Vue小技巧
DimplesY
2021-05-31

Vue 获取渲染后的 DOM

# Vue 获取渲染后的 DOM

# 一、获取普通 DOM 元素

因为 Vue 虚拟 DOM 的存在,直接使用 DOM 原生的方法获取元素效率不高,通常使用的是 Vue 提供的 ref 来获取我们想到的 DOM 元素,其使用如下:

<template>
  <div id="app">
    <div ref="div">
      Test DOM
    </div>
  </div>
</template>
<script>
export default {
  mounted() {
    console.log(this.$refs.div);
  },
};
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14

在 Vue 当中获取 DOM 元素 Vue 提供了 this.$refs.xx 的方法,但是这种方式只能够获取到 DOM 元素,不能够获取到 Vue Component 里面的内容。

# 二、获取 Vue Component

# 1、新建如下 Vue 文件

// test.vue
<template>
  <div>
    Test
  </div>
</template>
<script>
export default {};
</script>
1
2
3
4
5
6
7
8
9

# 3、将组件引入到 app.vue 当中

<template>
  <div id="app">
    <div ref="div">
      Test DOM
    </div>
    <Test ref="test"></Test>
  </div>
</template>
<script>
import Test from "test.vue";
export default {
  mounted() {
    console.log(this.$refs.div);
    console.log(this.$refs.test);
  },
  components: {
    Test,
  },
};
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

这是打印出来的 this.$refs.test 并不是我们需要的 DOM 元素,经过查看文档,发现可以使用this.$refs.test.$el获取到我们想要的元素。

帮助我修改此页面 (opens new window)
上次更新: 2022/11/20, 18:28:09
Vuex
Vue中的防抖函数封装和使用

← Vuex Vue中的防抖函数封装和使用→

最近更新
01
使用 strapi 快速构建 API 和 CMS 管理系统
03-03
02
Rust 开发环境
11-26
03
使用 paka.dev 为 npm 包生成文档
11-24
更多文章>
Theme by Vdoing | Copyright © 2020-2025 Dimples YJ | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式