Directives are special attributes with the v- prefix that you can attach to elements in the template to trigger JavaScript code. Examples of directives are v-if, v-for, and v-model.
Components are reusable Vue instances with a name. They can have props, data, computed properties, lifecycle hooks, and more. Examples of components are and .