Install Dependencies

npm
npm install @fortawesome/angular-fontawesome @fortawesome/free-solid-svg-icons @fortawesome/fontawesome-svg-core
Import Module
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; import { library } from '@fortawesome/fontawesome-svg-core'; import { faHome, faUser, faGear } from '@fortawesome/free-solid-svg-icons'; library.add(faHome, faUser, faGear); @NgModule({ imports: [FontAwesomeModule], // ... }) export class AppModule { }

Basic Usage

// Use FontAwesome icons in Angular templates import { Component } from '@angular/core'; import { faHome, faUser, faGear } from '@fortawesome/free-solid-svg-icons'; @Component({ selector: 'app-demo', template: ` <div> <fa-icon [icon]="faHome"></fa-icon> <fa-icon [icon]="faUser" size="2x"></fa-icon> <fa-icon [icon]="faGear" [spin]="true"></fa-icon> <fa-icon [icon]="['fas', 'house']"></fa-icon> </div> ` }) export class DemoComponent { faHome = faHome; faUser = faUser; faGear = faGear; }

Common Props Reference

PropTypeDescriptionExample
iconIconDefinitionIcon object, required[icon]="faHome"
sizestringIcon size, xs to 10xsize="2x"
spinbooleanContinuous rotation[spin]="true"
pulseboolean8-step pulse rotation[pulse]="true"
fixedWidthbooleanFixed width icon[fixedWidth]="true"
flipstringFlip directionflip="horizontal"
rotationnumberRotation angle[rotation]="90"
classesstring[]Additional CSS classes[classes]="['custom']"

Common Scenarios

Icons in Components

// Use FontAwesome icons in Angular component templates @Component({ template: ` <nav class="sidebar"> <a *ngFor="let item of navItems" [routerLink]="item.path"> <fa-icon [icon]="item.icon" fixedWidth></fa-icon> {{ item.label }} </a> </nav> ` }) export class SidebarComponent { navItems = [ { icon: faHouse, label: 'Home', path: '/' }, { icon: faUser, label: 'Profile', path: '/profile' }, { icon: faGear, label: 'Settings', path: '/settings' }, ]; }

Dynamic Icons

// Dynamically switch icons based on component state @Component({ template: ` <button (click)="toggle()"> <fa-icon [icon]="liked ? faHeartSolid : faHeartRegular" [style.color]="liked ? 'red' : 'gray'" size="2x"></fa-icon> </button> ` }) export class HeartComponent { liked = false; faHeartSolid = faHeartSolid; faHeartRegular = faHeartRegular; toggle() { this.liked = !this.liked; } }
Share

Related