NPM包 @nodeableio/ngx-breadcrumbs 使用教程

前言

对于 Web 应用程序来说,面包屑(Breadcrumbs)是一种非常有用的导航元素。它可以让用户快速了解当前页面的位置,并提供返回上一级页面的功能。而 @nodeableio/ngx-breadcrumbs 就是一款非常好用的 Angular 面包屑组件,它可以帮助 Angular 开发者快速构建出美观而实用的面包屑导航。

使用指南

安装

使用 @nodeableio/ngx-breadcrumbs 之前,你需要先使用 npm 安装它。在命令行工具中输入以下命令:

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

引入

安装完成之后,在你的 app.module.ts 文件中引入 @nodeableio/ngx-breadcrumbs:

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

配置

在你的模板文件中使用 ngx-breadcrumbs 面包屑组件:

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

如果你需要自定义面包屑组件的外观或者修改面包屑的显示文本、显示顺序等等,你需要使用 ngx-breadcrumbs 组件提供的相关配置项。

具体来说,你可以设置以下属性:

属性名 类型 默认值 描述
useTranslation boolean false 是否启用翻译服务
translations Translation[] [] 翻译信息数组,只有在 useTranslation 为 true 时生效
transforms Transform[] [] 变换信息数组,用于组织和处理面包屑数据
separator string / 面包屑分隔符
homeIcon string home 主页图标名称
homeUrl string / 主页链接地址

使用

现在你已经可以在你的应用程序中使用 ngx-breadcrumbs 了!

假设你有一个基于 Angular 的应用程序,其中包含如下路由:

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

在以上路由配置中,根路径('')通过重定向到 'home' 页面。'home' 页面和 'product' 页面都定义了一个名为 data.title 的属性,用于记录页面名称。'product' 页面中还定义了一个子路由 'detail'。

现在,你需要在你的应用程序中添加面包屑导航,以方便用户对页面之间的关系进行理解和操作。因此,你需要在每个页面上动态地生成面包屑导航。

在 Angular 中,动态生成面包屑导航的方法非常简单,你只需要将代表面包屑导航的数组传递给 ngx-breadcrumbs 组件即可:

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

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

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

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

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

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

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

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

在以上代码中,我们首先通过订阅路由导航事件(NavigationEnd)实现了在路由改变时更新面包屑导航的功能。接着,我们定义了生成面包屑导航的方法 generateBreadcrumbs(),它会递归搜索当前页面的路由树,生成面包屑导航数组并将其赋值给 breadcrumbs。最后,我们将 breadcrumbs 数组传递给 ngx-breadcrumbs 组件以显示当前页面的面包屑导航。

最终,你的模板文件应该类似于这样:

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

自定义面包屑导航

除了使用以上方法自动生成面包屑导航之外,你还可以使用 @nodeableio/ngx-breadcrumbs 提供的其他 API 来自定义面包屑导航的生成方式和显示效果。

如果你需要自定义面包屑导航中的文本、链接、CSS 样式等,你可以在定义面包屑导航数组时为每个导航项指定相应的属性值。比如,以下面包屑导航数组中,我们为 'product detail' 页面单独设置了一个 CSS 类型:

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

然后,我们就可以在样式表中使用 .detail-page 类型来为 'product detail' 页面自定义样式:

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

此外,@nodeableio/ngx-breadcrumbs 还为你提供了许多其他选项,如:

  • separator:面包屑导航中的分隔符,默认为 '/';
  • homeIcon:主页图标的名称,默认为 'home';
  • homeUrl:主页链接的地址,默认为 '/';
  • useTranslation:是否启用翻译服务,默认为 false;
  • translations:一个 Translation[] 数组,用于配置翻译信息;
  • transforms:一个 Transform[] 数组,用于实现各种组织和处理面包屑数据的逻辑。

示例代码

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

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

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

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

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

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

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

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

总结

在本文中,我们介绍了如何使用 @nodeableio/ngx-breadcrumbs NPM 包来构建出美观而实用的 Angular 应用程序面包屑导航。我们还讨论了如何使用该包的各种选项和方法自定义面包屑导航的生成方式和显示效果。如果你需要为你的 Angular 应用程序添加面包屑导航,那么 @nodeableio/ngx-breadcrumbs 定会是你的首选之一!

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


猜你喜欢

  • npm 包 censor-json 使用教程

    在前端开发中,我们经常需要对 JSON 数据进行处理和转换,有时候需要将一些敏感数据进行屏蔽,以保护用户隐私。这时,npm 包 censor-json 就可以派上用场了。

    3 年前
  • npm 包 seo-bot-detect 使用教程

    简介 NPM 是 Node.js 的软件包管理器,攸关整个 Node.js 生态的发展。在前端开发领域,NPM 提供了大量的依赖项和工具,seo-bot-detect 就是其中一款优秀的工具。

    3 年前
  • npm 包 isomorphic-crypto 使用教程

    什么是 isomorphic-crypto? isomorphic-crypto 是一个支持前后端一致加密的 npm 包,可以通过该包方便地在前后端进行数据加解密操作。

    3 年前
  • npm 包 @material-dev/angular-fontselect-volusion 使用教程

    概述 在 Web 前端开发中,字体选择组件是非常常见且实用的一个元素。npm 包 @material-dev/angular-fontselect-volusion 提供了一个基于 Angular 框...

    3 年前
  • npm包cascher使用教程

    什么是cascher? Cascher是一个简单易用的npm包,用于缓存web应用中常用的数据,帮助提高数据读取速度,降低服务器负载等。同时,cascher还支持容错和限流功能,使得应用更加健壮可靠。

    3 年前
  • npm 包 has-space 使用教程

    随着前端技术的不断发展,我们已经不再需要手动处理字符串或数组的空格问题。有了 npm 包,我们可以更加方便地完成这些任务。其中,has-space 是一个用于判断字符串或数组中是否有空格的 npm 包...

    3 年前
  • NPM 包 debit 使用教程

    介绍 Debit 是一个轻量级、易用的 JavaScript 库,它可以提供优秀的键盘导航和操作体验。这个库可以被用于任何具有导航和操作需求的网站或应用程序中。Debit 具有许多的特点和功能,如支持...

    3 年前
  • npm包 jsstruct使用教程

    在前端开发中,我们常常需要使用数据结构不同层级的对象,这时候 jsstruct 就可以提供帮助。jsstruct 是一个简单的 JavaScript 库,用来构建和管理层级化的数据结构。

    3 年前
  • npm 包 deeptea 使用教程

    deeptea 是一个前端领域内的 npm 包,主要用于优化人类视觉系统与计算机生成工艺之间的协作。它可以帮助我们更好地组织、呈现页面,并提高页面的可读性与美观程度。

    3 年前
  • npm 包 grudus-timepicker 使用教程

    在前端开发中,时间选择器是很常见的功能。而 npm 上的 grudus-timepicker 包(https://www.npmjs.com/package/grudus-timepicker)提供了...

    3 年前
  • npm 包 jest-context 使用教程

    介绍 jest-context 是一个可以帮助我们更好的组织测试用例的 Jest 扩展包。它可以让我们更加方便的对测试用例进行分组、嵌套、以及在测试用例之间共享数据。

    3 年前
  • npm 包 kla-angular-2-data-table 使用教程

    简介 kla-angular-2-data-table 是一个帮助前端开发人员快速实现数据表格的 npm 包,它基于 Angular 2 框架开发,提供了丰富的功能,如排序、过滤、分页等。

    3 年前
  • npm 包 node-red-contrib-crash 使用教程

    前言 node-red-contrib-crash 是一款 Node-RED 的扩展包,它可以用于捕获 Node-RED 运行过程中的异常,并将异常信息保存到文件中,以便于问题追踪和排查。

    3 年前
  • npm 包 implement-a-pl 使用教程

    介绍 implement-a-pl 是一个轻量级的 JavaScript 库,它提供了一个方便的方式来实现通用功能。 这个库提供的方法可以让开发者轻松地实现常见的面向过程编程模型。

    3 年前
  • NPM包Koa2-formidable使用教程

    在前端开发时,表单上传是无法避免的。在 Node.js 后端开发中,处理上传文件的工具也有不少,Koa2-formidable 是其中一个处理表单数据的中间件。它能够解析表单数据,包括文件上传,将其存...

    3 年前
  • npm包v_video使用教程

    什么是v_video? v_video是一款基于Vue.js的视频播放器组件,适用于在Vue.js项目中集成和使用。 安装v_video 在项目根目录下打开终端,输入以下命令来安装v_video: -...

    3 年前
  • npm 包 name-the-color-stylus 使用教程

    在前端开发中,我们通常需要定义不同的颜色变量来方便修改和维护。而使用锁定定的颜色名称能够大大减少人工维护的工作量。 npm 包 name-the-color-stylus 就是能够将任意颜色转化为标准...

    3 年前
  • npm 包 sterling-token 使用教程

    简介 sterling-token 是针对前端开发者的一个 npm 包,可以帮助开发者快速实现 JWT 令牌的生成和验证等操作。本文将详细介绍如何使用该包。 安装 使用 npm 命令进行安装: ---...

    3 年前
  • npm 包 loggen 使用教程

    简介 在前端开发中,log 的使用非常频繁。我们通常使用 console 进行输出,但是这种方式存在一些问题。比如当我们需要输出复杂的数据结构时,就需要使用 console.log(JSON.stri...

    3 年前
  • npm 包 spotify-discovery-node 使用教程

    简介 Spotify-discovery-node 是一个 npm 包,它提供了一种连接 Spotify Web API 的简单方式,让开发者很容易地在自己的应用中集成 Spotify。

    3 年前

相关推荐

    暂无文章