0


vue 父组件调用子组件方法ref

一、ref被用来给元素或子组件注册引用信息。引用信息将会注册在父组件的$refs对象上

vue中如果父组件想调用子组件的方法,可以在子组件中加上ref,然后通过this.$refs.ref.method调用。

父组件:

<template>
  <div @click="fatherMethod">
    <orderchild ref="child"></orderchild>
  </div>
</template>
<script>
  import orderchild from '~/components/orderchild.vue';
  export default {
    components: {
      orderchild
    },
    methods: {
      fatherMethod() {this.$refs.child.childMethods();
      }
    }
  };
</script>

子组件:

<template>
  <div>{{name}}</div>
</template>
<script>
  export default {
    data() {
      return {
        name: '测试'
      };
    },
    methods: {
      childMethods() {
        console.log(this.name);
      }
    }
  };
</script>

在父组件中, this.$refs.child 返回的是一个vue实例,可以直接调用这个实例的方法

二、在vue2.0和vue3.0中,ref方法有一些变化:

vue2.0 父组件

methods:

this.$refs.eleTable.子组件的方法名+()

this.$refs.eleTable.子组件的属性名

vue3.0 父组件

import { ref } from 'vue'

setup() {
//ref方法
const eleTable = ref() //eleTable是页面ref后面对应的名字
const clickSon = () => {
eleTable.value.changeShowText() //调用子组件的方法
let arr = eleTable.value.tableData //获取子组件 setup 里面定义的变量
}
}

参考:vue3.0中使用ref来调用子组件的方法_普通网友的博客-CSDN博客_ref调用子组件方法


本文转载自: https://blog.csdn.net/coinisi_li/article/details/127117626
版权归原作者 coinisi_li 所有, 如有侵权,请联系我们删除。

“vue 父组件调用子组件方法ref”的评论:

还没有评论