Vue中this.$refs的使用及说明

 更新时间:2025年08月26日 14:39:59   作者:咸鱼妹妹  
Vue中this.$refs用于访问通过ref注册的元素或组件,需在mounted后使用,可在JS操作DOM或调用子组件方法,注意避免模板中直接使用

Vue使用this.$refs

父组件

<template>
    <div>
      <!-- 
        ref 写在标签上时:this.$refs.名字  获取的是标签对应的dom元素
        ref写在组件上时:这时候获取到的是子组件(比如navChild)的引用  
      -->
      <Child ref="navChild"/>
    </div>
</template>

<script>
import Child from "@/components/child";
export default {
  name: "App",
  methods: {
    navFn(){
      // this.$refs.navChild 或者 this.$refs['navChild']

      // 第一种使用情况(父组件调用子组件的方法)
      this.$ref.navChild.initData();

      // 第二种使用情况(父组件调用子组件的方法,并通过方法传值)
      this.$refs.navChild.initData('我是父组件的传值')

      // 第四种使用情况(父组件获取子组件的数据)
      this.$ref.navChild.status

      // 第四种使用情况(父组件获取子组件的数据,并改变数据)
      this.$ref.navChild.status = 1;
    }
  },
};
</script>

子组件

<template>
    <div>
      <div>{{message}}</div>
    </div>
</template>

<script>
export default {
  name: "Child",
  data() {
    return {
      message:'这是子组件',
      status:0
    };
  },
  components: {},
  created() {
      console.log(this.$data.status); //1(通过this.$data获取所有变量)
      this.status = this.$data.status;
  },
  methods:{
    initData(val){
      // 方法二:获取父组件的传值
      console.log(val); //我是父组件的传值
      this.message = val;

      let name = 'Hello World';
    }
  }
};
</script>

<style scoped>
</style>

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解在Vue中如何实现表单图片裁剪与预览

    详解在Vue中如何实现表单图片裁剪与预览

    在前端开发中,表单提交是一个常见的操作,有时候,我们需要上传图片,但是上传的图片可能会非常大,这会增加服务器的负担,同时也会降低用户的体验,因此,我们通常需要对上传的图片进行裁剪和预览,本文主要给大家介绍如何在Vue中进行表单图片裁剪与预览
    2023-06-06
  • vue实现带复选框的树形菜单

    vue实现带复选框的树形菜单

    这篇文章主要为大家详细介绍了vue实现带复选框的树形菜单,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • vue-cli3.0如何修改端口号

    vue-cli3.0如何修改端口号

    这篇文章主要介绍了vue-cli3.0如何修改端口号,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • vue2中的keep-alive使用总结及注意事项

    vue2中的keep-alive使用总结及注意事项

    vue2.0提供了一个keep-alive组件用来缓存组件,避免多次加载相应的组件,减少性能消耗。本文给大家介绍vue2中的keep-alive使用总结及注意事项,需要的朋友参考下吧
    2017-12-12
  • vue3中使用ref语法糖的示例代码

    vue3中使用ref语法糖的示例代码

    Vue3提了一个Ref Sugar的RFC,即ref语法糖,目前还处理实验性的(Experimental)阶段,今天通过本文给大家介绍vue3中使用ref语法糖的相关知识,感兴趣的朋友跟随小编一起看看吧
    2022-09-09
  • vue 实现拖拽动态生成组件的需求

    vue 实现拖拽动态生成组件的需求

    这篇文章主要介绍了vue 如何实现拖拽动态生成组件的需求,帮助大家更好的理解和学习使用vue框架,感兴趣的朋友可以了解下
    2021-05-05
  • Vue键盘事件用法总结

    Vue键盘事件用法总结

    本篇文章主要介绍了Vue键盘事件用法总结,详细的介绍了各种键盘事件的用法,有兴趣的可以了解一下
    2017-04-04
  • 详解Vue如何手写一个虚拟列表

    详解Vue如何手写一个虚拟列表

    虚拟列表是一种优化长列表渲染的技术,它可以在保持流畅性的同时,渲染大量的数据,本文主要介绍了如何使用vue手写一个虚拟列表,感兴趣的可以了解下
    2024-04-04
  • 使用vue-cli webpack 快速搭建项目的代码

    使用vue-cli webpack 快速搭建项目的代码

    这篇文章主要介绍了vue-cli webpack 快速搭建项目的教程详解,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-11-11
  • Vue中Rule的使用方式

    Vue中Rule的使用方式

    这篇文章主要介绍了Vue中Rule的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02

最新评论