一、props 和 $emit
1、子组件向父组件传值,通过$emit 事件向父组件发送消息,将自己的数据传递给父组件。
2、props 可以在组件上注册一些自定义属性。父组件通过绑定该属性来向子组件传入数据,子组件通过 props 属性获取对应数据。
二、示例
1.父组件
<template>
<div>
<p>childMessage: {{childMessage}}</p>
<children :sendmessage='childMessage' @showMsg="updataMsg"></children>
</div>
</template>
import children from '/*...*/'
export default{
data () {
return {
childMessage: '父组件给子组件传值'
}
},
methods: {
updataMsg(message) {
this.childMessage = message
console.log(this.childMessage)
}
},
components: {
children
}
}
2.子组件
<template>
<div>
<button @click="sendtoParent">Click this Button</button>
</div>
</template>
<script>
export default {
props: ['sendmessage'],
methods: {
sendtoParent() {
this.$emit('showMsg','子组件通过$emit给父组件传值')
}
}
}
</script>
结果展示 父子组件通信之前
父子组件通信之后
|