vue中若想实现子组件给父组件传值,可以通过$emit()传参
子组件
<template>
<h1 @click="clickFunc">点击后给父组件传值</h1>
</template>
<script>
export default {
methods: {
clickFunc() {
// clickFunc:在父组件中可以监听该方法来获取子组件的传值
// 1: 传输的数据
this.$emit('clickFunc', 1);
}
}
}
</script>
父组件
<template>
<h1>这里是父组件</h1>
//childrenFunc: 可以随意定义
<son @clickFunc="childrenFunc"/>
</template>
<script>
import son from './son.vue';
export default {
components: {
son,
},
methods: {
childrenFunc(val) {
console.log(val); //获取子组件的传值,打印结果为1
}
}
}
</script>