Components have the same structure as the examples that we have been working with up to this moment, i.e. a template part containing HTML markup and a controller part containing the Vue app's logic.
When a new Vue component instance is created, it goes through a series of initialization steps such as data observation, template compilation, mounting data to DOM, and data updates. Through these initialization steps, Vue invokes functions - "lifecycle hooks", that give users the opportunity to add custom code at specific points of its lifecycle.
Watchers are another option in Vue as "computed" properties are. We declare watchers by adding a "watch" property inside the Object we pass inside Vue's createApp() function, then passing the names of variables we intend to watch for changes as subsequent functions names inside this property.
If you have just started learning VueJs and are enjoying the journey with the progressive framework, what might be the best way to perfect the learning process than actually practicing the code.
Since Nuxt is a Vue framework, it means that we get a number of opinionated functionalities out of the box that we would otherwise not get inside a vanilla Vue.js app.