当单击其子组件之一中的按钮时,我正在尝试获取一种在父组件上执行的方法。我在 Webpack 中使用单个文件组件。这是子组件的代码:
<template>
<button v-on:click="add">Click</button>
</template>
<script>
export default {
methods: {
add: () => {
console.log('foo')
this.$dispatch('addClick')
}
}
}
</script>
和父母的代码:
<template>
<div id="app">
<count :total="total"></count>
<click></click>
</div>
</template>
<script>
import count from './components/count.vue'
import click from './components/click.vue'
export default {
components: {
count,
click
},
data: () => {
return {
total: 0
}
},
methods: {
addToTotal: () => {
console.log('bar')
this.total += 1
}
},
events: {
addClick: 'addToTotal'
}
}
</script>
该count
组件只是一个显示total
变量的 h1 元素。当我单击按钮时,“foo”会记录到控制台,但“bar”不会,总数也不会改变。关于我做错了什么的任何想法?提前致谢!