vue父组件调用子组件的方法-$ref
说明:vm.$refs 一个对象,持有已注册过 ref 的所有子组件(或HTML元素)使用:在 HTML元素 中,添加ref属性,然后在JS中通过vm.$refs.属性来获取注意:如果获取的是一个子组件,那么通过ref就能获取到子组件中的data和methods根据以上三条,我们就可以直接给子组件添加ref属性然后,通过vm.$refs来调用子组件的methods中的方法或者获得data...
·
- 说明:vm.$refs 一个对象,持有已注册过 ref 的所有子组件(或HTML元素)
- 使用:在 HTML元素 中,添加ref属性,然后在JS中通过vm.$refs.属性来获取
注意:如果获取的是一个子组件,那么通过ref就能获取到子组件中的data和methods
根据以上三条,我们就可以直接给子组件添加ref属性然后,通过vm.$refs来调用子组件的methods中的方法或者获得data
直接看代码
子组件:
<template>
<div>
</div>
</template>
<script>
export default {
data(){
return {
num:'123'
}
},
computed: {
},
methods:{
childMethods() {
alert("I am child's methods")
}
},
created(){
}
}
</script>
父组件: 在子组件中加上ref即可通过this.$refs.ref.method调用
<template>
<div @click="parentMethod">
<children ref="c1"></children>
</div>
</template>
<script>
import children from 'components/children/children.vue'
export default {
data(){
return {
}
},
computed: {
},
components: {
'children': children
},
methods:{
parentMethod() {
console.log(this.$refs.c1) //返回的是一个vue对象,可以看到所有添加ref属性的元素
this.$refs.c1.childMethods();
}
},
created(){
}
}
</script>
更多推荐
已为社区贡献5条内容
所有评论(0)