子コンポーネントの1つのボタンがクリックされたときに親コンポーネントで実行するメソッドを取得しようとしています。私は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"は表示されず、合計は変化しません。私が間違っていることに関するアイデアは?前もって感謝します!
あなたはおそらく、あなたの 'this'をめちゃくちゃにされたラムダ表記を、使用しています。代わりに 'function'を試してください。 –