Я отправляю событие от дочернего компонента к его родителю. Я хочу перехватить сигнал через метод родителя. Но функция прослушивания срабатывает всегда, независимо от того, было ли сгенерировано событие. Обратите внимание, что я использую отдельные файловые компоненты и Vue-router.
Кроме того, я обнаружил, что очень мало примеров VueJS используют отдельные файловые компоненты, и для новичка транспиляция из простого приложения Vue в одном файле в несколько отдельных файловых компонентов может сбивать с толку.
Родитель:
<template>
....html here
</template>
<script>
import Child from './Child.vue'
export default {
name: 'Parent',
data () {
return {
stage: 1
}
},
components: {
Child
},
created: function () {
// the following line always runs even when listen for non-existent event eg this.$on('nonsense'...)
this.$on('child-event', this.stage = 2)
}
}
ребенок:
<template>
<button v-on:click="sendEvent" type="button" class="btn btn-success">Next</button>
</template>
<script>
export default {
name: 'Child',
data () {
return {
response_status: 'accepted'
}
},
methods: {
sendEvent: function () {
this.$emit('child-event', 'accepted')
}
}
Любая идея, что я делаю неправильно?