Vue $ on не получает мое событие, когда я запускаю $ emit - PullRequest
0 голосов
/ 27 октября 2019

У меня есть экземпляр vue, установленный как глобальная переменная todoEventBus.

Когда создается мой компонент, я запускаю $ on для запуска оповещения при отправке события под названием «множественное число».

У моего компонента есть кнопка, которая запускает это множественное событие.

Вот код:

<template>
    <div class="todo-item">

        <!--// -->

        <button @click="pluralise">Plural</button>

    </div>
</template>

<script>
export default {
    name: "todo-item",
    props: {
        // props
        todo: {
            type: Object,
            required: true,
        },
    },

    data() {
       // data
       'title': this.todo.title,
    },


    created() {
        todoEventBus.$on('pluralise', alert());
    },

    methods: {

        pluralise() {
            todoEventBus.$emit('pluralise.')
        },

        handlePluralise() {
            this.title = this.title + 's';
        }
    },


}
</script>

Когда я нажимаю кнопку множественного числа, я вижу, что генерируется следующее событие:

name:"pluralise."
type:"$emit"
source:"<Root>"
payload:Array[0]

Но не сработало оповещение, поэтому todoEventBus. $ On не получает событие.

...