Как я могу прослушать событие из подкомпонента в Vue? - PullRequest
0 голосов
/ 26 октября 2018

У меня есть 3 components

  • Stage
  • StageComponent
  • StageElementComponent

Stage содержит данные по умолчанию и базовый элемент управления для всех 3 components.

StageComponent i, которые фильтруют элементы StageElementComponent, и содержат некоторые элементы дизайна, проверки и взаимодействия с пользователем.

дисплей StageElementComponent и элемент, основанный на выборе пользователя.

Что необходимо учитывать

Я хочу знать, возможно ли emit событие с StageElementComponent а listen к нему в компоненте Stage?как

<template>
    //StageElementComponent
    <div class="element d-flex flex-column justify-content-center"
        @dblclick="clear">
        <i class="material-icons" v-if="element" :class="[`bg-${element.type.color}`]">{{ element.type.icon }}</i>
    </div>
</template>
<script>
    export default {
        props : {
            element : {
                type : Object,
                required : true
            }
        },
        methods : {
            clear : function($event) {
                this.$emit('clear', {
                    index : this.element.index
                })
            }
        }
    }
</script>
<style scoped lang="scss">
    .element {
        cursor: pointer;
    }
</style>

и в компоненте Stage слушайте его как

<v-stage id="ticktr" class="section center" 
    :rows="height" 
    :columns="width" 
    :elements="elements"
    @clear="clearElement"></v-stage>

Мне нужны эти 3 компонента.

Я не хочу слушатьи излучать в StageComponent, как я повторяюсь

Я не хочу использовать $root.$emit.

Возможно ли это сделать?как?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...