父子组件通信

子组件:

<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>

原文地址:https://www.cnblogs.com/rangewr/p/10710854.html