Angular 中如何使用 ng-bootstrap?

阅读时长 8 分钟读完

在 Angular 中,如果想要使用 Bootstrap 的 UI 组件,可以使用 ng-bootstrap 这个库。ng-bootstrap 是基于 Bootstrap 4 的 Angular 组件库,它提供了很多常用的 UI 组件,如模态框、标签页、下拉框等。本文将介绍如何在 Angular 中使用 ng-bootstrap。

安装 ng-bootstrap

使用 ng-bootstrap 需要先安装它。可以通过 npm 安装 ng-bootstrap:

导入模块

安装完 ng-bootstrap 后,需要在模块中导入它。在 app.module.ts 中导入 NgbModule:

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

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

使用 ng-bootstrap 组件

ng-bootstrap 提供了很多常用的 UI 组件,这里以模态框为例来介绍如何使用。

模态框

在 Angular 中使用 ng-bootstrap 的模态框,需要使用 NgbModalService 和 NgbModalRef 两个类。

打开模态框

首先,在组件中注入 NgbModalService:

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

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

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

然后在模板中使用 ng-template 定义模态框的内容:

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

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

在按钮的 click 事件中调用 openModal 方法,传入 ng-template 的引用,即可打开模态框。

传递参数

如果需要在模态框中传递参数,可以在打开模态框时传入参数:

在模态框组件中定义一个 name 属性,并在模板中显示:

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

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

在 ng-template 中使用 app-modal-content 组件,并传入 name 属性:

标签页

ng-bootstrap 的标签页组件是 NgbTabset 和 NgbTabContent。NgbTabset 是标签页的容器,NgbTabContent 是标签页的内容。

在组件中定义标签页的标题和内容:

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

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

在模板中使用 app-tabset 组件:

下拉框

ng-bootstrap 的下拉框组件是 NgbDropdown 和 NgbDropdownMenu。NgbDropdown 是下拉框的容器,NgbDropdownMenu 是下拉框的菜单。

在组件中定义下拉框的选项:

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

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

在模板中使用 app-dropdown 组件:

总结

本文介绍了如何在 Angular 中使用 ng-bootstrap。ng-bootstrap 提供了很多常用的 UI 组件,如模态框、标签页、下拉框等。通过本文的介绍,读者可以学习到如何安装和使用 ng-bootstrap,并可以根据需求使用 ng-bootstrap 的各种组件,快速构建出漂亮、实用的 UI 界面。

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

纠错
反馈