Regarding $refs, the documentation states that they are only populated after the component has been rendered and are not reactive. They should be used as a last resort for direct child manipulation, and it is recommended to avoid accessing $refs from within templates or computed properties.
"$refs are only populated after the component has been rendered, and
they are not reactive. It is only meant as an escape hatch for direct
child manipulation - you should avoid accessing $refs from within
templates or computed properties."
As for callbacks, I do not have specific information about their disadvantages. However, there is a helpful example in the script section of this Quasar Framework component. In this example, the parent component emits a function called reset
which the child component can then dispatch. This approach seems preferable in such cases.