Mobile Angular UI - 组件

在本章中,我们将了解Mobile Angular UI 中的重要组件。它们如下 −

  • 导航栏
  • 侧边栏
  • 模态框
  • 叠加层

导航栏

导航栏利用设备屏幕的顶部和底部。我们可以使用顶部导航栏来显示菜单项或标题部分。底部导航栏可用于显示页脚部分。

屏幕上导航栏的简单显示如下 −

Navbars

导航栏可以以两种方式显示:固定和溢出方法。

重要的 CSS 类

在 Mobile Angular UI 中,要显示导航栏,您必须使用 css 类 − navbar, .navbar-app

顶部/底部溢出方法的类

对于顶部导航栏,css 类 − .navbar-absolute-top

对于底部导航栏,css 类 − .navbar-absolute-bottom

用于顶部/底部固定方法的类

对于顶部导航栏,css 类 − .navbar-fixed-top

对于底部导航栏,css 类 − .navbar-fixed-bottom

让我们在 UI 上处理溢出导航栏。

以下是相同 − 的 HTML 代码

Navbar-Top

<div class="navbar navbar-app navbar-absolute-top">
   <div class="btn-group pull-left">
      <div class="btn">
         <i class="fa fa-th-large "></i> Library
      </div>
   </div>
   <div class="navbar-brand navbar-brand-center" ui-yield-to="title">
      TutorialsPoint
   </div>
   <div class="btn-group pull-right" ui-yield-to="navbarAction">
      <div class="btn">
         <i class="fal fa-search"></i> eBooks
      </div>
   </div>
</div>

Navbar-Bottom

<div class="navbar navbar-app navbar-absolute-bottom">
   <div class="btn-group justified">
      <a href="https://www.tutorialspoint.com/about/index.html" class="btn btn-navbar"><i class="fal fa-globe"></i> About us</a>
      <a href="https://www.tutorialspoint.com/about/contact_us.html" class="btn btn-navbar"><i class="fal fa-map-marker-alt"></i> Contact us</a>
   </div>
</div>

显示效果如下 −

Navbars Bottom

侧边栏

侧边栏位于屏幕的左侧和右侧。它们始终处于隐藏状态,单击左侧或右侧连接的项目时激活。这是利用屏幕空间的最佳方式。

到目前为止,我们已经了解了导航栏的工作原理。现在让我们利用左侧和右侧的导航栏项目来打开侧边栏。

您可以将侧边栏放在左侧或右侧。

重要的 CSS 类

左侧侧边栏的 CSS 类 − 侧边栏 sidebar-left.

右侧侧边栏的 css 类 − 侧边栏 sidebar-right.

侧边栏的 div 容器如下 −

<!-- Sidebars -->
<div class="sidebar sidebar-left"><!-- ... --></div>
<div class="sidebar sidebar-right"><!-- ... --></div>

与侧边栏的交互

要打开和关闭左侧和右侧添加的侧边栏,您需要将以下内容添加到将打开侧边栏的 html 标记中。

例如,要单击链接打开左侧边栏,您可以添加以下内容 −

侧边栏使用共享状态 uiSidebarLeftuiSidebarRight 来切换侧边栏项目。

我们将使用之前添加的顶部导航栏。添加 ui-toggle="uiSidebarLeft" 和 ui-toggle="uiSidebarRight" 以及类 sidebar-toggle 和 sidebar-right-toggle。

<div ui-toggle="uiSidebarLeft" class="btn sidebar-toggle"><i class="fa fa-th-large "></i> 图书馆</div>

<div ui-toggle="uiSidebarRight" class="btn sidebar-right-toggle"><i class="fal fa-search"></i> 搜索</div>

现在让我们为左侧边栏和右侧边栏添加一个 div 容器。

左侧边栏

<div class="sidebar sidebar-left">
   <div class="scrollable">
      <h1 class="scrollable-header app-name">Tutorials</h1>
      <div class="scrollable-content">
         <div class="list-group" ui-turn-off='uiSidebarLeft'>
            <a class="list-group-item" href="/">Home Page </a>
            <a class="list-group-item" href="#/academic"><i class="fa fa-caret-right"></i>Academic Tutorials </a>
            <a class="list-group-item" href="#/bigdata"><i class="fa fa-caret-right"></i>Big Data & Analytics </a>
            <a class="list-group-item" href="#/computerProg"><i class="fa fa-caret-right"></i>Computer Programming </a>
            <a class="list-group-item" href="#/computerscience"><i class="fa fa-caret-right"></i>Computer Science </a>
            <a class="list-group-item" href="#/databases"><i class="fa fa-caret-right"></i>Databases </a>
            <a class="list-group-item" href="#/devops"><i class="fa fa-caret-right"></i>DevOps </a>
         </div>
      </div>
   </div>
</div>

您可以在侧边栏模板中使用 ui-turn-off='uiSidebarLeft' 或 ui-turn-off='uiSidebarRight',以便在点击侧边栏内任意位置时关闭侧边栏。在侧边栏模板外的任意位置点击时,侧边栏将默认关闭。

在左侧边栏中,当用户点击链接时,侧边栏将关闭,因为我们已将 ui-turn-off='uiSidebarLeft' 添加到左侧边栏模板。

右侧边栏

<div class="sidebar sidebar-right">
   <div class="scrollable">
      <h1 class="scrollable-header app-name">eBooks</h1>
      <div class="scrollable-content">
         <div class="list-group" ui-toggle="uiSidebarRight">
            <a class="list-group-item" href="#/php"><i class="fa fa-caret-right"></i>PHP </a>
            <a class="list-group-item" href="#/Javascript"><i class="fa fa-caret-right"></i>Javascript </a>
         </div>
      </div>
   </div>
</div>

浏览器中侧边栏的显示如下 −

点击教程可获得左侧边栏菜单,如下所示 −

左侧边栏

点击电子书可获得右侧菜单,如下所示 −

右侧边栏

模态框和叠加层

模态框和叠加层将在您的屏幕上显示一个弹出类型的窗口。叠加层与模态框的区别仅在于容器的显示方式。

您需要使用 ngIf/uiIfngHide/uiHide 以及 uiState 来激活/关闭叠加层或模态框。

模态框的 CSS 为 .modal,叠加层的 CSS 为 .modal-overlay

要显示模态框和叠加层,请在 index.html 中添加以下 div 容器。

<div ui-yield-to="modals"></div>

让我们为之前完成的导航栏页脚分配一个模态框。

navbar footer

此处"关于我们"将充当模态框,"联系我们"将充当覆盖层。

将以下更改添加到"关于我们"和"联系我们"的链接中 −

<div class="navbar navbar-app navbar-absolute-bottom">
   <div class="btn-group justified">
      <a ui-turn-on="aboutus_modal" class="btn btn-navbar"><i class="fal fa-globe"></i> About us</a>
      <a ui-turn-on="contactus_overlayl" class="btn btn-navbar"><i class="fal fa-map-marker-alt"></i> Contact us</a>
   </div>
</div>

如果我们点击此链接,模态框和覆盖层将会打开。

模态框和覆盖层的内容被添加到src/home/home.html文件中。

模态框和覆盖层的主要内容必须包装在以下 div 容器内 −

<div ui-content-for="modals">
   <div class="modal"><!-- ... --></div>
</div>

让我们将内容添加到模态和覆盖视图。我们在链接上使用的名称,即 ui-turn-on="aboutus_modal" 和 ui-turn-on="contactus_overlay",在 aboutus 模态内容和 contactus 覆盖内容内部也使用相同的名称。

<div ui-content-for="modals">
   <div class="modal" ui-if="aboutus_modal" ui-shared-state="aboutus_modal">
      <div class="modal-backdrop in"></div>
      <div class="modal-dialog">
         <div class="modal-content">
            <div class="modal-header">
               <button class="close"
                  ui-turn-off="aboutus_modal">×</button>
               <h4 class="modal-title">Modal</h4>
            </div>
            <div class="modal-body">
               <p>Testing Modal</p>
            </div>
            <div class="modal-footer">
               <button ui-turn-off="aboutus_modal" class="btn btn-default">Close</button>
               <button ui-turn-off="aboutus_modal" class="btn btn-primary">Save</button>
            </div>
         </div>
      </div>
   </div>
   <div class="modal modal-overlay" ui-if="contactus_overlay" ui-shared-state="contactus_overlay">
      <div class="modal-dialog">
         <div class="modal-content">
            <div class="modal-header">
               <button class="close"
                  ui-turn-off="contactus_overlay">×</button>
               <h4 class="modal-title">Overlay</h4>
            </div>
            <div class="modal-body">
               <p>Testing Overlay</p>
            </div>
            <div class="modal-footer">
               <button ui-turn-off="contactus_overlay" class="btn btn-default">Close</button>
               <button ui-turn-off="contactus_overlay" class="btn btn-primary">Save</button>
            </div>
         </div>
      </div>
   </div>
</div>

模态框和叠加层显示如下 −

点击"关于我们"时,将显示模态框,如下所示 −

Onclick

点击"联系我们"时,将显示叠加层,如下所示 −

Contact

点击关闭按钮关闭模态框窗口。