At their core, Angular directives are classes that can change the structure or behavior of your DOM elements. A directive can be thought of as a decorator for an element in the HTML template, which extends its capabilities by adding extra functionality.