安装依赖

npm
npm install @fortawesome/angular-fontawesome @fortawesome/free-solid-svg-icons @fortawesome/fontawesome-svg-core
导入模块
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 { }

基本用法

// 在 Angular 模板中使用 FontAwesome 图标 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; }

常用属性速查

属性类型说明示例
iconIconDefinition图标对象,必填[icon]="faHome"
sizestring图标尺寸,从 xs 到 10xsize="2x"
spinboolean连续旋转[spin]="true"
pulseboolean8 步脉冲旋转[pulse]="true"
fixedWidthboolean固定宽度图标[fixedWidth]="true"
flipstring翻转方向flip="horizontal"
rotationnumber旋转角度[rotation]="90"
classesstring[]附加 CSS 类名[classes]="['custom']"

常见场景

组件中的图标

// 在 Angular 组件模板中使用 FontAwesome 图标 @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' }, ]; }

动态图标

// 根据组件状态动态切换图标 @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; } }
分享

相关推荐