One of the things about software development you do not reallse until later is now important well thought out encapsulation and clarity is when you revisit old code.
One factor is predictability, what else can the programmer have possibly meant? One of the good artifacts of programming is the contained universe and in a Vue JS or Angular component, you have just that. An entity that defines itself in strict terms: an entity that is clear in its meaning and intent.
Because it follows the rules, you find it remarkably easy to understand what the component is and what its interface with the outside is.
That is all you want to know. Vue JS makes designing interactions between front end input components that make sense in their own light. Contained predictability is an asset in exposed interfaces. Vue JS intervenes just enough that Javascript starts to make sense.

