Родительский компонент прослушивает изменения ребенка с помощью childToParent
, и, если есть какие-либо изменения, я вызываю метод childChanged ()
// Parent Component
<template>
<div id="parent">
<p>{{parentToggledData}}</p>
<Child v-on:childToParent="childChanged"/>
</div>
</template>
<script>
import Child from "./Child";
export default {
name: "parent",
components: {
Child
},
data() {
return {
parentToggledData: []
};
},
methods: {
childChanged(value) {
this.parentToggledData = value;
}
}
};
</script>
. Я слушаю изменения на каждом v-switch
, иесли он есть, я вызываю метод emitToParent ()
в этом методе, я отправляю изменения родителю с $emit
, который принимает в качестве параметра событие, прослушиваемое родителем childToParent
и "значение для отправки this.toggledData
// Child Component
<template>
<div id="child">
<v-switch v-model="toggledData" value="John" @change="emitToParent"></v-switch>
<v-switch v-model="toggledData" value="Andrew" @change="emitToParent"></v-switch>
<v-switch v-model="toggledData" value="Melissa" @change="emitToParent"></v-switch>
<v-switch v-model="toggledData" value="Elizabeth" @change="emitToParent"></v-switch>
</div>
</template>
<script>
export default {
name: "child",
data() {
return {
toggledData: []
};
},
methods: {
emitToParent(event) {
console.log(event)
console.log(this.toggledData)
this.$emit("childToParent", this.toggledData);
}
}
};
</script>