Vue中子组件向父组件传值
- 首先创造两个组件,并为父组件引用的子组件创建一个自定义方法。
- 子组件添加一个事件,可以触发$emit事件。
<template id="father">
<div>
<son @zidingyi="tofather"></son>
<div>父组件获取到的值是:{{getmessage}}</div>
</div>
</template>
<template id="son">
<div>
<button @click="submit">传递</button>
</div>
</template>
- $emit(‘自定义方法名’,传递的数据)。
// --------------------------------子组件-----------------------------
Vue.component('son', {
template: '#son',
data() {
return {
msg: 'hello'
}
},
// 子组件的方法中调用点击事件,点击按钮调用$emit方法
// 括号中第一个参数是父组件的自定义方法名,第二个参数是传递的数据
methods: {
submit() {
this.$emit('zidingyi', this.msg);
}
},
})
- 父元素调用自定义的方法,参数就是传递的值。
// ----------------------------------父组件----------------------------------
Vue.component('fathet', {
template: '#father',
data() {
return {
getmessage: '',
}
},
methods: {
// 调用父组件的自定义方法,括号里是参数
tofather(message) {
this.getmessage = message
}
}
})
- 展示传递的值
<div id='app'>
<fathet></fathet>
</div>
![展示数据](https://i-blog.csdnimg.cn/blog_migrate/5f171649f8893348a1700866bedcef15.png#pic_center)