From the Vue guide Composing Components, instead of mutating the data in a child component, an event should be emitted to parent component/instance to do the mutation. However, Vue's event can only propagate up one level. For nested components, my current implementation is like below:
When the client does an action in grandchild component
=> grandchild component has a method to emit an event to child component
=> child component has a method to re-emit the event to parent component
=> parent component has a method to mutate the data
This type of implementation is very tedious when nested components have more nesting.
Can someone tell me if this implementation is usual for nested components? However, this is really tedious and hard to maintain. If no, what implementation is not anti-pattern to Vue and also easy to maintain?