I'm trying to access a specific child by name. At the moment, because of where the child is, I'm calling the child by this:
this.$root.$children[0]
Which is ok as long as that child is always [0]
but it would be great if there’s a way to do something like:
this.$root.$children['detail']
I keep thinking $refs
might be the answer to my problem but can never find a way that it helps me.
Any ideas?
Is this child you are talking about really a child of the component that you want to access it from? In this case, v-ref
is indeed the answer:
// in the code of the parent component, access the referenced child component like this: this.$refs.detailsChild
<!-- Template of the parent component, assuming your child Component is called Details --> <details v-ref:details-child></details>
relevant API Documentation: http://vuejs.org/api/#v-ref
You can use this property:
this.$root.$children[0].$options.name
For example:
this.$root.$children.find(child => { return child.$options.name === "name"; });
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With