1

我想我在这里做错了什么。

我想使用angular-fontawesome 模块。按照说明成功导入AppModule

export class AppModule {
constructor(library: FaIconLibrary) {
    // Add an icon to the library for convenient access in other components
    library.addIcons(
        faUsers,
        faUserCircle,
        faDesktop,
        faTachometerAlt,
        faWrench,
        faFolder,
        faChartArea,
        faTable,
        faSearch,
        faBell,
        faFileAlt,
        faExclamationTriangle,
        faDonate,
        faEnvelope,
        faUser,
        faCogs,
        faList,
        faSignOutAlt,
        faAngleUp,
        faLaughWink,
        faServer,
        faWarehouse,
        faPlusCircle
    )
}     

但是当我想在我自己的项目内模块中使用它时,比如说admin.module.ts. 我必须再次导入所有这些吗?相同的代码必须再次放入admin.module.ts

在我看来。AppModule是根模块。我知道如果我有其他模块想要使用图标,那么我可能必须这样做。但是,真的吗?连个AppModule都不够?

4

2 回答 2

1

FaIconLibrary是一个应用程序级的单例,所以你只需要将图标添加到库中一次。但是,您应该添加FontAwesomeModuleimports您的组件AdminModule以使<fa-icon>组件可以访问AdminModule(这是标准的Angular 事物)中声明的组件。

您可能还会发现这个答案很有趣。

于 2020-11-15T08:31:07.423 回答
1

根据文档

图标可以在 app.module 中使用 FaIconLibrary.addIcons() 或 FaIconLibrary.addIconPacks() 注册一次。添加到库中的图标将可供其父模块也导入 FontAwesomeModule 的任何其他组件使用。

所以重新检查下一步

1   Import { FontAwesomeModule, FaIconLibrary } from '@fortawesome/angular-fontawesome'
2   Add FontAwesomeModule to imports
3   Inject FaIconLibrary into constructor of the module.
4   Import an icon like { faCoffee } from '@fortawesome/free-solid-svg-icons'
5   Add icon to the library with library.addIcons(faCoffee)
于 2020-11-15T08:33:29.750 回答