JeB*_*JeB 36 font-awesome font-awesome-5 angular angular-fontawesome
如何在Angular(2+)中使用font-awesome 5?
我试过在组件中添加它:
import {faChevronLeft, faChevronRight} from '@fortawesome/fontawesome-free-solid';
import fontawesome from '@fortawesome/fontawesome';
...
constructor(){
fontawesome.library.add(faChevronLeft, faChevronRight);
}
Run Code Online (Sandbox Code Playgroud)
然后在HTML中:
<span class="fa" [class.fa-chevron-left]="direction==='left'" [class.fa-chevron-right]="direction==='right'"></span>
Run Code Online (Sandbox Code Playgroud)
但这给了我一个圆圈中闪烁的问号.
JeB*_*JeB 65
您有两种选择:
只需按照github页面上的说明操作即可.
确保已安装所有相关的npm包.
对于Pro包,请查看此内容.
导入相关图标:
import {faChevronLeft, faChevronRight} from '@fortawesome/fontawesome-free-solid';
import fontawesome from '@fortawesome/fontawesome';
Run Code Online (Sandbox Code Playgroud)将图标添加到全局范围内的fontawesome
库(不在组件的构造函数内):
fontawesome.library.add(faChevronLeft, faChevronRight);
Run Code Online (Sandbox Code Playgroud)在html中使用它:
<span class="fas" [class.fa-chevron-left]="direction==='left'" [class.fa-chevron-right]="direction==='right'"></span>
Run Code Online (Sandbox Code Playgroud)注意html中的前缀:
fas
用于fontawesome-free-solid
图标(也适用于fa
)
<span class="fas fa-chevron-left"></span>
Run Code Online (Sandbox Code Playgroud)fab
用于fontawesome-free-brands
图标
<span class="fab fa-bitcoin"></span>
Run Code Online (Sandbox Code Playgroud)far
用于fontawesome-free-regular
图标
<span class="far fa-chevron-left"></span>
Run Code Online (Sandbox Code Playgroud)fal
用于fontawesome-free-light
图标(专业)
<span class="fal fa-chevron-left"></span>
Run Code Online (Sandbox Code Playgroud)重要的提示:
fontawesome
一旦完成一次(在初始化时),就可以使用变量来定义类.但是,如果变量更改其值,则不会反映在html中.考虑这个例子:
<span class="fas fa-chevron-{{direction}}"></span>
Run Code Online (Sandbox Code Playgroud)
这将在初始化时放置右图标,但如果方向发生变化则不会反映出来.
这样做的原因是用适当的fontawesome 5
替换归类的元素,一旦被替换,没有变量影响这个.
如果您希望上面的html反映运行时更改,您必须像这样更改它:fa ...
svg
<span *ngIf="direction==='right'"><span class="fas fa-chevron-right"></span></span>
<span *ngIf="direction==='left'"><span class="fas fa-chevron-left"></span></span>
Run Code Online (Sandbox Code Playgroud)
外部span
是必要的,因为内部span
被替换,svg
所以你不能穿上*ngIf
它.
进一步阅读:
最简单的方法是通过npm安装它,然后导入样式:
1)
npm i @fortawesome/fontawesome-free --save
Run Code Online (Sandbox Code Playgroud)
2)将样式导入angular.json
"styles": [
...
"node_modules/@fortawesome/fontawesome-free/css/all.css"
...
]
Run Code Online (Sandbox Code Playgroud)
<i class="fas fa-address-card"></i>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
54853 次 |
最近记录: |