tulip notes
首页
  • 学习笔记

    • 《Vue》
  • 踩坑日记

    • JavaScript
  • MQ
  • Nginx
  • IdentityServer
  • Redis
  • Linux
  • Java
  • SpringBoot
  • SpringCloud
  • MySql
  • docker
  • 算法与设计模式
  • 踩坑与提升
  • Git
  • GitHub技巧
  • Mac
  • 网络
  • 项目构建合集
  • 一些技巧
  • 面试
  • 一些杂货
  • 友情链接
  • 项目发布
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Star-Lord

希望一天成为大师的学徒
首页
  • 学习笔记

    • 《Vue》
  • 踩坑日记

    • JavaScript
  • MQ
  • Nginx
  • IdentityServer
  • Redis
  • Linux
  • Java
  • SpringBoot
  • SpringCloud
  • MySql
  • docker
  • 算法与设计模式
  • 踩坑与提升
  • Git
  • GitHub技巧
  • Mac
  • 网络
  • 项目构建合集
  • 一些技巧
  • 面试
  • 一些杂货
  • 友情链接
  • 项目发布
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 基础

  • 组件

    • 组件基础
    • 组件的一些注意点
    • 组件之间的传值
    • 组件间的调用
      • 特殊属性ref
        • ref是什么
        • 获取方式
    • 自定义事件
    • 全局事件总线
    • Prop 验证 与 非 Prop 的 Attribute
    • 兄弟组件传值
    • 父组件调用子组件方法并传入值
    • 插槽slot
    • 动态组件与 v-once 指令
    • vue父子组件的生命周期顺序
  • 过渡&动画

  • 可复用性&组合

  • 工具

  • 规模化

  • Vuex

  • 其他

  • 《Vue》笔记
  • 组件
EffectTang
2023-09-18
目录

组件间的调用

# 组件间的调用

# 特殊属性ref

# ref是什么

ref是一个特殊属性,用于在Vue实例中注册一个引用信息。一个元素或者组件通过ref注册后(打上标签后),则可以通过vue实例进行获取该标签或者组件实例对象。这样,我们可以轻松地在Vue的生命周期钩子函数或方法中操作这些元素或组件。

它是获取元素的一种方式(可以当成——通过id获取元素的替代者)。

# 获取方式

this.$refs.xxx
1

但要切记,要先注入(给元素打上标签)后,才能获取.以下是一个简单的例子:

<template>
  <div>
    <input ref="input" type="text" placeholder="输入内容">
    <button @click="handleButtonClick">点击按钮</button>
  </div>
</template>

<script>
export default {
  methods: {
    handleButtonClick() {
      // 通过this.$refs获取到input元素的引用,然后可以对其进行操作
      const inputElement = this.$refs.input;
      inputElement.value = "被修改的值"; // 修改输入框的值
    }
  }
};
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

除了获取传统标签以外,还能对组件进行标签跟捕获:

<template>
  <div>
    <ChildComponent ref="childRef"></ChildComponent>
    <button @click="handleButtonClick">点击按钮</button>
  </div>
</template>

<script>
import ChildComponent from "./ChildComponent.vue";

export default {
  components: {
    ChildComponent
  },
  methods: {
    handleButtonClick() {
      // 通过this.$refs获取到ChildComponent实例的引用,然后可以对其进行操作
      const childComponentInstance = this.$refs.childRef;
      // 调用ChildComponent实例的方法或访问其数据属性
    }
  }
};
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

注意

应用在html标签上获取的是真实Dom元素,应用在组件标签上获取的是组件实例对象(VueComponent)

上次更新: 2025/04/23, 16:23:16
组件之间的传值
自定义事件

← 组件之间的传值 自定义事件→

最近更新
01
面向切面跟自定义注解的结合
05-22
02
时间跟其他数据的序列化
05-19
03
数据加密与安全
05-17
更多文章>
Theme by Vdoing | Copyright © 2023-2025 EffectTang
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式