NashTech Insights

Directives and Their Types in Angular

Table of Contents


Angular, a popular JavaScript framework, provides a powerful feature called directives. Directives allow you to extend HTML with custom behaviors and create reusable components. They are an essential part of Angular development, enabling you to enhance the functionality and appearance of your applications. In this blog, we will explore directives and their different types in Angular.

What are Directives?

Directives are Angular’s way of manipulating the Document Object Model (DOM). They provide a way to add custom behavior to existing HTML elements or create new reusable components.

Directives are categorized into three types: component directives, structural directives, and attribute directives.

1. Component Directives

Component directives are the most common type of directives in Angular. They are used to create reusable components with their own templates, styles, and logic. A component directive combines HTML markup, styles, and TypeScript code to define a custom element that can be used throughout your application. Components have a clear boundary and encapsulate their functionality, making them easy to reuse and maintain.

2. Structural Directives

Structural directives modify the structure of the DOM by adding or removing elements. They are denoted by an asterisk (*) preceding the directive name in the HTML template. Angular provides several built-in structural directives, such as *ngIf, *ngFor, and *ngSwitch. These directives enable dynamic rendering and conditional display of elements based on certain conditions or data.

*ngIf: It conditionally adds or removes elements from the DOM based on a boolean expression.

*ngFor: It iterates over a collection and generates HTML for each item in the collection.

*ngSwitch: It conditionally renders elements based on multiple expressions.

Structural directives offer powerful capabilities to create dynamic and responsive user interfaces.

3. Attribute Directives

Attribute directives modify the behavior or appearance of existing elements by applying custom logic to the elements they are attached to. These directives can be used to listen for events, apply styles dynamically, manipulate the DOM, or enhance accessibility. Angular provides some built-in attribute directives like ngStyle, ngClass, and ngModel.

ngStyle: It dynamically applies CSS styles to an element based on the provided expression.

ngClass: It dynamically adds or removes CSS classes from an element based on a condition or expression.

ngModel: It enables two-way data binding between form elements and component properties.

Attribute directives can also be created and customized according to specific application requirements.


Directives are a powerful feature in Angular that allow you to extend HTML and create reusable components. Understanding the different types of directives, including component directives, structural directives, and attribute directives, is essential for Angular development.

If you liked this blog, please share it with your friends and colleagues. Connect with our Frontend competency on LinkedIn to read more about such topics.



Aanchal Agarwal is a Software Consultant at NashTech. Her practice area is web development. She is recognized as a multi-talented, multitasker, and adaptive to the different work environments. Her hobbies include watching movies, listening to music, and traveling. She likes to read books and explore new things.

Leave a Comment

Your email address will not be published. Required fields are marked *

Suggested Article

%d bloggers like this: