一、父组件给子组件传递数据
父组件传送data数据给子组件
<children :data="data">
子组件接收
export default {
props: ['data']
}
二、子组件操作父组件的方法
父组件定义一个show的方法,并且传达给子组件,命名为@show
<children @show="show"></children>
show(){
console.log('I am parent!');
}
子组件直接用$emit调用@show方法
this.$emit('show');
还可以传参
show(params){
console.log(params);
}
this.$emit('show', 'I am children!');
三、父组件操作子组件的方法
父组件
<template>
<div>
<h1>我是父组件</h1>
<!-- 定义子组件名字 -->
<child ref="child"></child>
</div>
</template>
<script>
import child from './child'
export default {
components: {child},
methods: {
parent() {
// $.refs调用
this.$.refs.child.childFn()
}
}
}
</script>
子组件
<template>
<div>
<h2>我是子组件</h2>
</div>
</template>
<script>
import child from './child'
export default {
components: {child},
methods: {
// 子组件的方法
childFn() {
alert('父组件调用了我')
}
}
}
</script>