大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
我们都知道通过$ref可以获取到某个DOM,但是它也可以用来获取子组件的实例,调用子组件的方法
例:
子组件:
<template>
<div></div>
</template>
<script> export default { methods:{ childMethod(flag) { console.log(flag) } }, created(){ } } </script>
父组件: 在子组件中加上ref即可通过this.$refs.ref.method调用
<template>
<div @click="parentMethod">
<children ref="child1"></children>
</div>
</template>
<script> import children from 'components/children/children.vue' export default { data(){ return { flag: true } }, components: { 'children': children }, methods:{ parentMethod() { console.log(this.$refs.child1) //返回的是一个vue对象,所以可以直接调用其方法 this.$refs.child1.childMethod(this.flag); } } } </script>
例子,兄弟组件间传递DOM数据,调用函数
写一个兄弟组件之间传递数据,父组件调用方法的案例:
第一个子组件cartcont,发射数据
this.$emit('cartadd', event.target);
父组件接收数据,并将数据,通过调用另一个子组件shopcart 的方法传递给另一个子组件shopcart
<v-cartcont :food="food" @cartadd='_drop'></v-cartcont>
<v-shopcart ref='shopcart'></v-shopcart>
_drop(target){
console.log('父组件接收数据')
this.$refs.shopcart.drop(target);
}
shopcart子组件的方法
drop(el){
console.log('调用另一个子组件的方法')
console.log(el)
}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/186713.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...