Let’s say I have a component called child
. I have data there that I want to access in my parent component. I want to emit an event in the childs
mount: this.$emit('get-data', this.data)
before finally retrieving it in the parent mount. Is this possible to do / practical? If it is how can one achieve it? If not, what are some better alternatives?
Cheers.
Advertisement
Answer
I am not aware if being able to listen for $emit
‘d data, from a child mount()
, inside a parent mount()
. You need to bind the listener to the child component within the parent template. Typical example using SFC
Child.vue:
export default{ name: 'child', mount(){ this.$emit('get-data', this.data); } }
Parent.vue:
<template> <div> <child v-on:get-data="doSomething"></child> </div> </template> <script> import Child from './Child'; export default{ name: 'parent', components: { Child }, methods(){ doSomething(data){ //Do something with data. } } } </script>