У меня есть 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
.
Возможно ли это сделать?как?