NavBar导航栏

位于 app 内容区的上方,系统状态栏的下方,并且提供在一系列页面中的导航能力。

规则

  • 可在导航栏中显示当前视图的标题。如果标题非常冗长且无法精简,可以空缺。
  • 可在导航栏中使用 SegmentedControl 对内容进行层级划分。
  • 避免用过多的元素填满导航栏。一般情况下,一个『返回按钮』、一个『标题』、一个『当前视图的控件』就足够了;如果已经有了 SegmentedControl ,一般只搭配一个『返回按钮』或者『当前视图的控件』。
  • 为图标和文字控件,提供更大的点击热区。

代码演示

导航栏

  1. import { Component } from '@angular/core';
  2. @Component({
  3. selector: 'demo-nav-bar-basic',
  4. template: `
  5. <Navbar [icon]="icon" [rightContent]="rightContent" [mode]="'light'" (onLeftClick)="onLeftClick()">
  6. NavBar
  7. </Navbar>
  8. <Navbar [leftContent]="'Back'" [rightContent]="rightContent" (onLeftClick)="onLeftClick()">
  9. NavBar
  10. </Navbar>
  11. <ng-template #icon>
  12. <Icon [type]="'left'"></Icon>
  13. </ng-template>
  14. <ng-template #rightContent>
  15. <Icon [type]="'search'" [ngStyle]="{ marginRight: '16px' }"></Icon>
  16. <Icon [type]="'ellipsis'"></Icon>
  17. </ng-template>
  18. `
  19. })
  20. export class DemoNavBarBasicComponent {
  21. onLeftClick() {
  22. console.log('onLeftClick');
  23. }
  24. }

NavBar导航栏 - 图1

API

参数说明类型默认值
[mode]模式‘dark’ | ‘light’‘dark’
[icon]出现在最左边的图标占位符TemplateRef-
[leftContent]导航左边内容string | TemplateRef-
[rightContent]导航右边内容string | TemplateRef-
(onLeftClick)导航左边点击回调EventEmitter<object>-