vue子组件向父组件传值的方法
dearweb 发布:2021-08-08 14:06:11阅读:今天和大家分享一下父子组件之间通信,子向父集传值的方式。
组件代码
<!-- 父组件模板 --> <div id="app"> <cpn :cinfo='info' @itemclick="topClick"></cpn> </div> <!-- 子组件模板 --> <template id="cpn"> <div> <button v-for='item in categories' @click="itemClick(item)">{{item.name}}</button> </div> </template>
先在子组件中定义一个click事件,通过触发click事件用$emit()方法向父组件传输数据,父组件通过定义一个事件(注意事件名与子组件的click事件的方法名相同)来接收子组件传过来的值。
js代码部分
//子组件 const cpn = { template : "#cpn", props:{ }, data(){ return{ categories:[ {id:"1",name:"热门推荐"}, {id:"2",name:"手机数码"}, {id:"3",name:"家用家电"}, {id:"4",name:"电脑办公"} ] } }, methods:{ itemClick(item){ // console.log(item); this.$emit("itemclick",item) } } } //父组件 const app = new Vue({ el:"#app", data:{ info:{ name:"bug", age:"18", sex:"男" } }, components:{ cpn }, methods:{ topClick(item){ console.log(item.name) } } })
以上就是子组件向父组件传值的方法,你看懂了吗?
小礼物走一波,支持作者
赏还没有人赞赏,支持一波吧