DEV Community

Cover image for Structural Directives:
Priyadharshan senthil
Priyadharshan senthil

Posted on

1

Structural Directives:

Structural Directives:

  1. ngIf: It is used to conditionally renders or removes an element based on a given expression.

Example:

<div *ngIf="isLoggedIn">Welcome, {{ username }}!</div>

Enter fullscreen mode Exit fullscreen mode

The above div tag is rendered if and only if the value of the variable isLoggedIn turns to be True.
Likewise,For React developers reference,In React we use useState hook to do the same conditional rendering.

2.ngFor:
Renders a template for each item in a collection. In Angular, the ngFor structural directive is used to render a template for each item in a collection by iterating through collections (arrays or objects).It is very similar to for loop in programming language.

Example :


  <ul>
     <li *ngFor="let item of items">{{ item }}</li>
  </ul>

Enter fullscreen mode Exit fullscreen mode
  • In the above example, the items is the array or object which contains the list of values to be rendered say bunch of students.The variable item is used to iterate the loop , it is also called the loop variable.

  • This directive is used when we have a dynamic data instead of typing multiple statements.

3.ngSwitch:
In Angular ,ngSwitch is used to switch between multiple templates based on the value of the condition expression.

Here's a breakdown of how it works:


  <div [ngSwitch]="condition">
     <p *ngSwitchCase="'A'">Option A</p>
     <p *ngSwitchCase="'B'">Option B</p>
     <p *ngSwitchDefault>Default Option</p>
  </div>

Enter fullscreen mode Exit fullscreen mode
  • Binds the component's condition value to the ngSwitch directive using the syntax [ngSwitch]="condition". Which template within the ngSwitch block should be displayed depends on the value of condition.

  • ngSwitchCase="'A'":

When the condition's value matches the case value provided (in this case, "A"), the *ngSwitchCase directive defines a template to be displayed. The p> element containing the text "Option A" will be rendered if condition equals "A."

  • ngSwitchCase="'B'":

This *ngSwitchCase directive defines a template to be displayed when the value of the condition matches the case value ('B'), similar to the previous case. The p> element containing the text "Option B" will be rendered if condition equals "B".

  • When none of the ngSwitchCase values match the value of condition, the *ngSwitchDefault directive is used to specify a default template that will be displayed. The element with the text "Default Option" will be shown if condition matches no situations.

  • The "Option A", "Option B", or "Default Option" will be displayed in this example depending on the value of the condition.

This gives flexibility in presenting content based on criteria and enables dynamic rendering of various templates based on the value of a variable or expression.
There are more angular directives like
1.Attributes directives
2.Custom directives
We will see about these topics in the next post.
Happy coding...😉

Heroku

Simplify your DevOps and maximize your time.

Since 2007, Heroku has been the go-to platform for developers as it monitors uptime, performance, and infrastructure concerns, allowing you to focus on writing code.

Learn More

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

Instrument, monitor, fix: a hands-on debugging session

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

Tune in to the full event

DEV is partnering to bring live events to the community. Join us or dismiss this billboard if you're not interested. ❀