Реквизиты передаются, События генерируются. Если вы хотите общаться напрямую между родителем и потомком, вы передаете реквизиты от родителя к потомку, и ребенок реагирует на изменение значения. Если вы однако хотите, чтобы родитель реагировал на изменения дочернего компонента, вам нужно emit
события.
Вот пример.
Child
methods: {
selectedCompound(h2o) {
this.$emit('valChange', h2o)
},
}
Parent
<div>
<SelectCompound @valChange="handleChange"></SelectCompound>
</div>
methods: {
handleChange(h2o) {
// handle here
console.log('parent noticed change ' + h2o)
},
}
Вы также можете использовать шину (например, Vuex), чтобы все компоненты взаимодействовали с отдельным менеджером состояний, но это несколько усложняет сложность по сравнению с простымидаже излучать.