1.在子组件的方法中注册一个事件用 this.$emit("事件名称","要传递的参数")。
2.要在子组件中触发这个方法
3.在父组件引用子组件的时候用v-on 指令绑定注册的事件名称。
4.然后就可以操作传过来的值了
举个栗子:
父组件
<template>
<div id="home">
<app-header v-on:dian="updateTitle($event)"></app-header>
</div>
</template>
<script>
import Header from './Header'
export default {
name: 'home',
components:{
"app-header":Header,
},
data(){
return{
title:"",
}
},
methods:{
updateTitle(aa){
alert(aa)
this.title=aa;
},
}
}
</script>
子组件
<template>
<header >
<h3 v-on:click="changeTitle()">点击时传给父组件</h3>
</header>
</template>
<script>
export default {
data() {
return {
title2: "Vue Demo"
}
},
methods: {
changeTitle(){
注册事件
this.$emit("dian","header子向父传值")
},
},