npm 包 @abp/ng.core 使用教程

阅读时长 5 分钟读完

ABP Framework 是一个用于建立现代化 Web 应用程序的开源工具集和框架。@abp/ng.core 是 ABP Framework 中的一个 NPM 包,它提供了一些重要的基础设施和共享的功能,用于 Angular 应用程序的构建。在本文中,我们将介绍如何使用 npm 包 @abp/ng.core 来构建 Angular 应用程序。

安装

要使用 @abp/ng.core,首先需要在项目中安装它。通过运行以下命令来完成安装:

引入

安装完成后,在项目中的任何组件,模块或服务中,你可以通过以下方式引入 @abp/ng.core:

你还需要在你的应用程序模块中注入 AbpModule:

在组件中使用

@abp/ng.core 中包含许多主要的服务和指令,可以在 Angular 组件中使用。

AbpPermissionDirective

每个应用程序都需要进行权限验证,并且有时会根据登录的用户的不同,来动态显示或隐藏的一些组件或元素。

AbpPermissionDirective 允许您只在具有特定权限的用户可见时显示某些元素。

AbpIfGrantedDirective

如果用户唯一需要做的是显示或隐藏某个元素,并且他们需要的权限已在模板中硬编码,则可以使用 AbpIfGrantedDirective。

IdentityService

IdentityService 为应用程序中使用的用户信息提供了一个简单的服务。

ConfigurationService

ConfigurationService 提供了您设置应用程序环境时所需的一些功能。

在启动应用程序时,您可以通过以下方法设置默认环境:

StartupService

StartupService 为应用程序的初始化代码提供了入口点。

-- -------------------- ---- -------
------ - -------------- - ---- ---------------

-----
------------------- -------- --------------- --

---------- -
  ------------------------------- -- -
    ---------------- ----------- --- ---- ---------------
  ---
-

AbpHttpConfigurationModule

AbpHttpConfigurationModule 为 Angular HTTP 服务提供了一些默认的全局配置。

要使用 AbpHttpConfigurationModule,首先需要在 AppModule 中引入该模块,并进行以下配置:

-- -------------------- ---- -------
------ - -------------------------- - ---- ---------------

-----------
  -------- -
    --------------------------------------
      -------- ------------------------
      -- ---
    --
  --
  -- ---
--
------ ----- --------- --

LocalizationService

LocalizationService 提供了一些功能,用于在应用程序中获取本地化的字符串。

-- -------------------- ---- -------
------ - ------------------- - ---- ---------------

-- ---
------------------- ------------- -------------------- --

---------- -
  --------------------------------------------------------------- -- -
    -------------------
  ---
-

结论

@abp/ng.core 包提供了许多重要的基础设施和共享功能,这些功能对于 Angular 应用程序的构建非常有用。在本文中,我们介绍了如何安装和引入 @abp/ng.core,以及如何在组件中使用其中的主要服务和指令。希望这篇文章对开发者有帮助,并能够更好地使用 @abp/ng.core 来构建 Angular 应用程序。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/193799