子组件调用父组件事件
父组件在标签通过@add="父组件方法"添加一个响应事件,子组件通过emits声明引用父组件事件,子组件的方法通过 this.$emit('add') 调用父组件的某个事件(例如add)
如果子组件不用emits声明,其实也可以调用,但控制台会打印警告
父组件:
methods: {
addCounter() {
this.counter += 1;
}
}
<global :counter="counter" @add="addCounter"/>
子组件:
emits: ['add'],
methods: {
globalAddCounter() {
this.$emit('add');
}
},
template: `
<h3>子组件{
{counter}}</h3>
<button @click="globalAddCounter">子组件点击+1</button>
`
向父组件事件中传递参数
子组件在this.$emit('add', 2)调用时,把参数值2传递给父组件,父组件方法中通过参数param (参数名字可以随便起)接受这个参数值
可以传递多个参数
父组件methods:
addCounterTwo(param) {
this.counter += param;
}
子组件methods:
methods: {
globalAddCounter() {
this.