一、props 和 $emit
1、子组件向父组件传值,通过$emit 事件向父组件发送消息,将自己的数据传递给父组件。
2、props 可以在组件上注册一些自定义属性。父组件通过绑定该属性来向子组件传入数据,子组件通过 props 属性获取对应数据。
二、示例
1.父组件
// parent.vue<template><div><p>childMessage:{{childMessage}}</p><children :sendmessage='childMessage' @showMsg="updataMsg"></children></div></template>import children from'/*...*/'exportdefault{data(){return{
childMessage:'父组件给子组件传值'}},
methods:{updataMsg(message){this.childMessage = message
console.log(this.childMessage)}},
components:{
children
}}
2.子组件
// children.vue<template><div>// 通过按钮点击事件将子组件的值传给父组件<button @click="sendtoParent">Click this Button</button></div></template><script>exportdefault{
props:['sendmessage'],
methods:{sendtoParent(){//$emit括号里的第一个参数为自定义事件this.$emit('showMsg','子组件通过$emit给父组件传值')}}}</script>
结果展示
父子组件通信之前
父子组件通信之后
版权归原作者 闲适_ 所有, 如有侵权,请联系我们删除。