I've been told that the best way to change the value of props in Vue (and the only way to keep things reactive) is to emit events with the value we want to change to the parent, then update the value there. Recently I've come across Vue.set() / this.$set(), which do exactly same, from the children component, and everything it's still reactive. Sounds like a perfect solution, but I'd like to ask which practice is better, when, and why?