Navbar Vue Component
Navbar is a fixed (with Fixed and Through layout types) area at the top of a screen that contains Page title and navigation elements.
Navbar Vue component represents Navbar component.
Navbar Components
There are following components included:
**f7-navbar****f7-nav-left****f7-nav-right****f7-nav-title****f7-nav-title-large**
Navbar Properties
| Prop | Type | Default | Description |
|---|---|---|---|
| <f7-navbar> properties | |||
| --- | --- | --- | --- |
| inner | boolean | true | When enabled (by default), it will put all the content within internal navbar-inner element. Disable it only in case you want to put totally custom layout inside |
| title | string | Navbar title | |
| subtitle | string | Navbar sub title | |
| back-link | boolean string | Adds back-link with text (if string value is specified) |
|
| back-link-url | string | Custom back link URL | |
| back-link-force | boolean | false | Force page to load and ignore previous page in history |
| back-link-show-text | boolean | By default back link text disable for MD theme | |
| sliding | boolean | true | Enables “sliding” effect for nav elements |
| no-shadow | boolean | false | Disable shadow rendering for Material theme |
| no-hairline | boolean | false | Disable navbar bottom thin border (hairline) for iOS theme |
| hidden | boolean | false | Makes navbar hidden |
| innerClass | string | Adds additional class to navbar-inner element |
|
| large | boolean | Enables navbar with large title | |
| title-large | string | Navbar large title text. If not specified then will be equal to title prop |
|
| <f7-nav-left> properties | |||
| back-link | boolean string | Adds back-link with text (if string value is specified) | |
| back-link-url | string | Custom back link URL | |
| back-link-force | boolean | false | Force page to load and ignore previous page in history |
| back-link-show-text | boolean | By default back link text disable for MD theme | |
| sliding | boolean | Enables “sliding” effect. By default inhertis sliding prop of parent f7-navbar |
|
| <f7-nav-title> properties | |||
| title | string | Specifies element inner title text (affects if there is no child elements) | |
| subtitle | string | Sub title text | |
| sliding | boolean | Enables “sliding” effect. By default inhertis sliding prop of parent f7-navbar |
|
| <f7-nav-right> properties | |||
| sliding | boolean | Enables “sliding” effect. By default inhertis sliding prop of parent f7-navbar |
Navbar Methods
| <f7-navbar> methods | |
|---|---|
| .hide(animate) | Hide navbar |
| .show(animate) | Show navbar |
| .size() | Size navbar |
Navbar Events
| Event | Description |
|---|---|
| <f7-navbar> events | |
| --- | --- |
| back-click click:back | Event will be triggered after click on navbar back link |
| navbar:hide | Event will be triggered when Navbar becomes hidden |
| navbar:show | Event will be triggered when Navbar becomes visible |
| navbar:collapse | Event will be triggered when Navbar with large title collapsed (from large navbar to usual navbar) |
| navbar:expand | Event will be triggered when Navbar with large title expanded (from usual navbar to large navbar) |
| <f7-nav-left> events | |
| back-click click:back | Event will be triggered after click on navbar back link |
Navbar Slots
Navbar Vue component (<f7-navbar>) has additional slots for custom elements:
**default**- element will be inserted as a child of<div class="navbar-inner">element**before-inner**- element will be inserted right before<div class="navbar-inner">element**after-inner**- element will be inserted right after<div class="navbar-inner">element**nav-left**- element will be inserted in navbar’s left element**nav-right**- element will be inserted in navbar’s right element**title**- element will be inserted in navbar’s title element
1. <f7-navbar title="My App">
2. <a href="#" slot="nav-left">Left Link</a>
3. <a href="#" slot="nav-right">Right Link</a>
4. <div slot="before-inner">Before Inner</div>
5. <div slot="after-inner">After Inner</div>
6. <div>Default slot</div>
7. </f7-navbar>
9. <!-- Renders to: -->
11. <div class="navbar">
12. <div>Before Inner</div>
13. <div class="navbar-inner">
14. <div class="left">
15. <a href="#">Left Link</a>
16. </div>
17. <div class="title">My App</div>
18. <div class="right">
19. <a href="#">Right Link</a>
20. </div>
21. <div>Default slot</div>
22. </div>
23. <div>After Inner</div>
24. </div>
Examples
Minimal layout
1. <f7-navbar title="My App"></f7-navbar>
Minimal layout with back link
1. <f7-navbar title="My App" back-link="Back"></f7-navbar>
Without “sliding” transition effect (affects iOS theme only)
1. <f7-navbar title="My App" back-link="Back" :sliding="false"></f7-navbar>
With additional right link to open right panel
1. <f7-navbar title="My App" back-link="Back">
2. <f7-nav-right>
3. <f7-link icon="icon-bars" panel-open="right"></f7-link>
4. </f7-nav-right>
5. </f7-navbar>
7. <!-- or -->
9. <f7-navbar title="My App" back-link="Back">
10. <f7-link slot="nav-right" icon="icon-bars" panel-open="right"></f7-link>
11. </f7-navbar>
With large title
1. <f7-navbar title="My App" back-link="Back" large></f7-navbar>
3. <!-- with different large title text -->
5. <f7-navbar title="My App" back-link="Back" large title-large="Large Title"></f7-navbar>
All three parts
1. <f7-navbar>
2. <f7-nav-left back-link="Back"></f7-nav-left>
3. <f7-nav-title>My App</f7-nav-title>
4. <f7-nav-right>
5. <f7-link icon="icon-bars" panel-open="right"></f7-link>
6. </f7-nav-right>
7. </f7-navbar>
Full custom layout
1. <f7-navbar>
2. <f7-nav-left>
3. <f7-link>Left Link</f7-link>
4. </f7-nav-left>
5. <f7-nav-title>My App</f7-nav-title>
6. <f7-nav-right>
7. <f7-link>Right Link</f7-link>
8. </f7-nav-right>
9. </f7-navbar>
