父子组件通信
子组件:
<template><div>子组件<button @click="sendMsg">传递</button></div>
</template>
<script>
export default{
name:"child",
data(){return{msg:'我是子组件数据'}},
props:{ num:{ //接收父组件传递过来的参数num
type:Number,
default:5
}
},
computed:{ addNum(){return this.num * 5; }},
methods:{ sendMsg(event){
//两个参数:参数1:key 参数2:数据
this.$emit("sendmsg",this.addNum) }}}
</script>
父组件:
<template><div>父组件<input type="text" v-model="num">
<Child @sendmsg="getMsg" :num="getNum"/>{{ info }}
//@sendmsg是接收子组件参数,:num是给子组件传参
</div></template>
<script>
import Child from "./child"
export default{
name:"parent",
data(){return{info:"", num:5}},
computed:{ getNum(){return this.num - 0; }},
components:{ Child},
methods:{ getMsg(data){ this.info = data; }}
}
</script>