npm 包 @pratico/ngx-busy-indicator 使用教程

概述

在前端开发中,我们常常需要实现页面上的loading效果。为了方便开发者使用,社区中出现了诸如 @ng-bootstrap/ng-bootstrap、ngx-spinner等多种loading组件。其中,@pratico/ngx-busy-indicator也是一款不错的组件,相比于其他组件,该组件具有以下优点:

  • 灵活性高:可以同时移除多个loading效果
  • 支持 RxJS:可以轻松使用 RxJS 的任何操作符
  • 内置多种样式:支持多种样式,可根据自己的需求做出修改

这篇文章将介绍 @pratico/ngx-busy-indicator 的使用方法,以及如何将其应用到实际项目中。

安装

首先,在使用该组件前,我们需要在项目中安装 @pratico/ngx-busy-indicator 包,使用以下命令进行安装:

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

安装完成后,您需要在打开的app.module.ts文件中将 BusyIndicatorModule 导入到您的应用程序中:

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

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

使用

组件的 ngx-busy 指令可以附加到任何指定的 HTML 元素中,该元素在加载过程中将显示 loading 效果。下面是一个基本的代码示例:

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

在上面的示例中,我们为 button 元素添加了 ngx-busy 指令,并将 busy 属性设置为 isLoading。这意味着当 isLoading 的值为 true 时,该元素将显示 loading 效果,反之则不显示。

如果不需要在某个元素中显示 loading 效果,可以使用 ngx-busy-target 指令。

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

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

在这个例子中,我们使用 *ngIf 来控制一个视图区域是否显示,而 *ngx-busy 指令则用于另一个 HTML 元素中。ngx-busy-target 指令用于告诉组件在哪里显示 loading 效果。

如果您需要同时在多个元素中显示 loading 效果,则可以使用 ngx-busy-overlay 指令。

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

在这个示例中,我们使用 *ngFor 创建了多个元素,而 ngx-busy-overlay 指令告诉组件在哪些元素中显示 loading 效果。

高级用法

除了常规的使用方法外,@pratico/ngx-busy-indicator 还支持更多高级用法。

可自定义样式

您可以轻松地自定义 loading 效果的样式,只需使用 busyConfig 配置即可:

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

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

在上面的代码中,我们定义了一个自定义的 busyConfig。其中,backdropBackgroundColour 表示 loading 效果的背景色,template 则表示了自定义的 loading 效果样式,delay 表示 loading 效果延迟消失的时间。

使用 RxJS

@pratico/ngx-busy-indicator 还支持使用 RxJS。您可以将 busy 属性绑定到一个 Observable,然后在该 Observable 中使用 RxJS 操作符以控制 loading 效果是否显示。

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

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

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

在这个示例中,当用户单击 "Click me to start loading" 按钮时,会生成一个 Observable,然后在 finalize 操作符中将 isLoading 置为 true。在这个操作中,我们还使用了 timeout 设置了一个延迟,以便能够更好地看到 loading 效果。

结论

虽然 @pratico/ngx-busy-indicator 功能强大,用途广泛,但是使用它并不复杂,只需要几个简单的步骤即可将其引入项目中,并进行使用。希望通过这篇文章能够帮您更好的掌握该组件的使用方法。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/600558cb81e8991b448d6155


猜你喜欢

  • npm 包 conventional-changelog-angular-vstst 使用教程

    在前端开发中,发布版本是非常重要的一项任务。版本的发布需要经过机制审核、测试、代码质量检查等多个环节。为了更好的管理版本,开发人员可以使用 conventional-changelog-angular...

    2 年前
  • npm 包 node-env-file-subst 使用教程

    在前端开发过程中,我们常常需要进行开发环境和生产环境的切换,以及保护一些重要信息的安全性。Node.js 生态圈中的 npm 包,提供了便捷的解决方案。其中, node-env-file-subst ...

    2 年前
  • npm 包 passport-jwt-google-auth-library 使用教程

    前言 在前端开发中,用户认证是一个非常重要的话题。其中,Google 提供了很多优秀的服务,其中 Google 登录在很多 Web 应用中用到。在 Express 应用中,passport-jwt-g...

    2 年前
  • npm 包 ng2-errorhandler 使用教程

    在前端开发中,错误处理是非常重要的一个环节。ng2-errorhandler 是一个针对 Angular 2 及以上版本专门设计的错误处理库。它提供了一个简单而强大的方式来管理应用中的错误,使得错误处...

    2 年前
  • npm包react-dropzone-amd使用教程

    什么是react-dropzone-amd? React-dropzone-amd是一个基于React的上传文件组件。它支持多种文件类型的上传、拖放上传、复制粘贴上传和摄像头上传。

    2 年前
  • npm 包 validate-tags 使用教程

    在前端开发中,我们经常使用 npm 包来管理项目的依赖和构建等任务。在发布 npm 包时,为了保证发布的包的质量和规范性,我们需要对包的版本和标签进行验证。这时,就可以使用 npm 包 validat...

    2 年前
  • npm 包 larryguo-awesome-package 使用教程

    简介 larryguo-awesome-package 是一款前端开发的 npm 包,它集成了许多优秀的前端工具和库,可以帮助开发者更快地完成项目开发。该包由国内知名前端博主 LarryGuo 开发和...

    2 年前
  • npm包 generator-d3-plugin-ts 使用教程

    简介 generator-d3-plugin-ts是一个用于生成d3.js插件的脚手架工具,使用TypeScript语言编写,可以帮助前端开发人员快速、易用地创建自己的d3.js插件。

    2 年前
  • npm 包 phaser-node-kit 的使用教程

    介绍 Phaser 是一个轻量级的 HTML5 游戏框架,用于开发跨平台的 2D 游戏。phaser-node-kit 是一个基于 Phaser 的 npm 包,它为开发者提供了一系列的工具和组件,方...

    2 年前
  • npm 包 faasd 使用教程

    什么是 faasd faasd 是一种开源的轻量级 Serverless 平台,支持使用快速启动的容器作为函数的运行环境。它基于 OpenFaaS,为开发者提供了一个简单、快速、低成本的 Server...

    2 年前
  • npm 包 egg-browsersync 使用教程

    介绍 egg-browsersync 是一款基于 egg 框架的实时刷新工具。它能够自动监控文件变化,并刷新浏览器页面。这个工具的依赖于 browsersync。browsersync 是一款基于 N...

    2 年前
  • npm 包 immutabled 使用教程

    什么是 immutabled? immutabled 是一个专注于不可变数据的 JavaScript 库,它提供了一系列 API 用于方便地创建、更新和操作不可变数据结构,比如 List、Map、Se...

    2 年前
  • 前端技术:remodal-browserify npm 包的使用教程

    简介 remodal-browserify 是一个轻量级的 JavaScript 库,可以轻松地添加响应式的模态框到你的网站或 Web 应用程序中。这个库具有很多有用的功能,如动画效果、主题扩展性和可...

    2 年前
  • npm 包 strict-tag 使用教程

    简介 在前端开发中,标签的语义化往往是一个重要的话题。语义化标签不仅可以提升网站的可访问性、SEO,而且能够使代码更具有可读性和可维护性。然而,在实际开发中,有些同学会忽略标签的语义化,使用错误的标签...

    2 年前
  • npm 包 txbot-pugme 使用教程

    介绍 txbot-pugme 是一个基于 Node.js 的 npm 包,用于在 Telegram Bot 中发送猫咪脸基情图片。该包使用了 PugMe-API 提供的 API,可以方便地进行数据获取...

    2 年前
  • npm 包 radiant.js 使用教程

    Radiant.js 是一个快速轻量级的JavaScript库,它可以帮助我们轻松地创建各种炫酷的动画效果。在本文中,我们将介绍如何使用 npm 包 radiant.js 来创建一些常见的动画效果。

    2 年前
  • npm 包 hubot-friendly 使用教程

    介绍 hubot-friendly 是一个npm包,可以帮助你在使用hubot的时候更容易的处理文本消息,从而达到更好的用户体验。它提供了一些API来检验一个消息是否是友好的,如果是的话,就可以直接进...

    2 年前
  • npm包vimtron-io的使用教程

    简介 vimtron-io是一个基于jQuery和Prism的插件库,可以在页面中快速创建一个代码编辑器。它的特点在于支持vim键盘操作和代码高亮。 安装 在终端中执行以下命令: --- ------...

    2 年前
  • npm 包 @agravem/request 使用教程

    1. 前言 在前端开发中,我们经常需要从后台服务器中获取数据,此时需要使用 AJAX 请求。虽然原生 JS 也能够完成 AJAX 请求,但是它们缺乏灵活性和易用性。

    2 年前
  • NPM包root-paths使用教程

    NPM 是 Node.js 的包管理工具,其支持全局安装和本地安装。NPM 上有很多的开源包,根据自己的需求可以灵活的进行引入和使用。然而,当你的项目比较复杂或者需要引用多个文件时,使用相对路径可能会...

    2 年前

相关推荐

    暂无文章