一、以下是vue2的方式,相比vue3有一点差别
vue中如果父组件想调用子组件的方法,可以在子组件中加上ref,然后通过this.$refs.ref.method调用。 ref被用来给元素或子组件注册引用信息。引用信息将会注册在父组件的$refs对象上
父组件:
<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实例,可以直接调用这个实例的方法。