0% found this document useful (0 votes)
186 views13 pages

Angular Material 8 Tutorial Navigation UI

Angular Material 8 Tutorial_ Build Navigation UI With Toolbar and Side Navigation Menu

Uploaded by

Athena
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
186 views13 pages

Angular Material 8 Tutorial Navigation UI

Angular Material 8 Tutorial_ Build Navigation UI With Toolbar and Side Navigation Menu

Uploaded by

Athena
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

13/09/2019 Angular Material 8 Tutorial: Build Navigation UI with Toolbar and Side Navigation Menu | Techiediaries

Techiediaries

Angular Material 8
Tutorial: Build
Navigation UI with
Toolbar and Side
Navigation Menu
Receive new Angular 8 tutorials.

Your e-mail Subs c r ibe

In the previous tutorial we’ve seen how to create an Angular 8 application for consuming a simple CRM REST
API. We’ve also added component routing to our application in this tutorial. Now, let’s build on those tutorials
to create the UI using Angular Material 8. x

Setting up Angular Material 8


We'll be using Material Design to style our CRM UI, so we need to add Angular Material 8 to our project.
https://www.techiediaries.com/angular-material-navigation-toolbar-sidenav/ 1/13
13/09/2019 Angular Material 8 Tutorial: Build Navigation UI with Toolbar and Side Navigation Menu | Techiediaries

Fortunately, this is only one command away. Open a new terminal and run the following commands: x

$ cd ./ngsimplecrm
$ ng add @angular/material

The command will ask you to Choose a prebuilt theme name, or "custom" for a custom theme: (Use
arrow keys)

Indigo/Pink
Deep Purple/Amber
Pink/Blue Grey
Purple/Green

Let’s choose Deep Purple/Amber.

You’ll be also asked if you want to Set up HammerJS for gesture recognition? (Y/n) Choose the default
answer which is Yes. And if you want to Set up browser animations for Angular Material? (Y/n) You can
also choose Yes.

That's it! Angular Material is configured in your application.

Importing Angular Material Components: x

MatToolbarModule, MatSidenavModule,

https://www.techiediaries.com/angular-material-navigation-toolbar-sidenav/ 2/13
13/09/2019 Angular Material 8 Tutorial: Build Navigation UI with Toolbar and Side Navigation Menu | Techiediaries

MatListModule, MatButtonModule and x

MatIconModule
After that, you need to import the Angular Material components that you want to use in your project.

Open the src/app/app.module.ts file and add the following changes:

import { BrowserModule } from '@angular/platform-browser';


import { NgModule } from '@angular/core';

import { HttpClientModule } from '@angular/common/http';


import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { MatToolbarModule, MatIconModule, MatSidenavModule, MatListModule, MatButto

import { AppRoutingModule } from './app-routing.module';

// [...]

@NgModule({
declarations: [
// [...]
],
imports: [
BrowserModule,
BrowserAnimationsModule,
HttpClientModule,
AppRoutingModule,
MatToolbarModule,
MatSidenavModule,
MatListModule,
MatButtonModule,
MatIconModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { } x

We import the following Material components modules for building our navigation UI:

https://www.techiediaries.com/angular-material-navigation-toolbar-sidenav/ 3/13
13/09/2019 Angular Material 8 Tutorial: Build Navigation UI with Toolbar and Side Navigation Menu | Techiediaries

MatToolbarModule which provides <mat-toolbar> and <mat-toolbar-row> components. x


MatSidenavModule
MatListModule
MatButtonModule which provides mat-button and mat-icon-button .
MatIconModule which provides <mat-icon> .

Note: Make sure you import the Angular Material modules after Angular's BrowserModule, as the
import order matters for NgModules.

Angular 8 Material Toolbar Example


The Material toolbar components are designed to add containers for headers, titles, or actions. We can use
various component such as <mat-toolbar> and <mat-toolbar-row> to create and structure toolbars for
your application.

Open the src/app/app.component.html file and start by adding the toolbar:

<mat-toolbar color="primary">
<mat-toolbar-row>
<button mat-icon-button>
<mat-icon (click)="sidenav.toggle()">menu</mat-icon>
</button>
<h1>SimpleCRM</h1>
<span class="menu-spacer"></span>
<div>
<a mat-button [routerLink]="'/accounts'"> Accounts </a>
<a mat-button [routerLink]="'/create-account'"> Create Account </a>
<a mat-button [routerLink]="'/contacts'"> Contacts </a>
<a mat-button [routerLink]="'/create-contact'"> Create Contact </a>
<a mat-button [routerLink]="'/activities'"> Activities </a>
<a mat-button [routerLink]="'/create-activity'"> Create Activity </a>

</div>
</mat-toolbar-row>

<mat-toolbar-row>
<span style="font-size: 12px;">SimpleCRM helps you easily manage your contact
</mat-toolbar-row>
</mat-toolbar> x

We use a primary color for our toolbar. Next, we create tow toolbar rows using the <mat-toolbar-row> . In
the first row, we add an icon button (using mat-icon-button )with a Material icon ( <mat-icon> ) to toggle
https://www.techiediaries.com/angular-material-navigation-toolbar-sidenav/ 4/13
13/09/2019 Angular Material 8 Tutorial: Build Navigation UI with Toolbar and Side Navigation Menu | Techiediaries

the sidenav menu which we'll add next. Next, we add a bunch of navigation buttons using <a> tags with mat- x
button .

You can set the color of a <mat-toolbar> component by using the color property. By default,
toolbars make use a neutral background color depending on the current theme (light or dark). This
can be changed to primary , accent , or warn .

This is a screenshot of our toolbar:

Angular Material Sidenav Example


According to the docs :

The sidenav components are designed to add side content to a fullscreen app. To set up a sidenav
we use three components: <mat-sidenav-container> which acts as a structural container for
our content and sidenav, <mat-sidenav-content> which represents the main content, and
<mat-sidenav> which represents the added side content.

In the same src/app/app.component.html file, add:

<mat-sidenav-container>
<mat-sidenav #sidenav>
<mat-nav-list>

<a mat-list-item [routerLink]="'/accounts'"> Accounts </a>


<a mat-list-item [routerLink]="'/create-account'"> Create Account </a>
<a mat-list-item [routerLink]="'/contacts'"> Contacts </a>
<a mat-list-item [routerLink]="'/create-contact'"> Create Contact </a>
<a mat-list-item [routerLink]="'/activities'"> Activities </a> x
<a mat-list-item [routerLink]="'/create-activity'"> Create Activity </a>
<a mat-list-item (click)="sidenav.toggle()" href="" mat-list-item>Close</a>

</mat-nav-list>

https://www.techiediaries.com/angular-material-navigation-toolbar-sidenav/ 5/13
13/09/2019 Angular Material 8 Tutorial: Build Navigation UI with Toolbar and Side Navigation Menu | Techiediaries

</mat-sidenav> x
<mat-sidenav-content>
<div style="height: 88vh;">

<router-outlet></router-outlet>
</div>
</mat-sidenav-content>
</mat-sidenav-container>

We used a Material navigation list to create a list of buttons using <mat-nav-list> and mat-list-item .
We also added a #sidenav template reference variable to <mat-sidenav #sidenav> to be able to call its
toggle() method from the menu icon in the toolbar so we toggle it on and off ( <mat-icon
(click)="sidenav.toggle()">menu</mat-icon> )

This is a screenshot of our UI:

Conclusion
In this tutorial, we’ve added Angular Material 8 to our Angular 8 application which will allow us to build a
professional-grade UI for our CRM. Next, we created a navigation UI with Material toolbar, sidenav, buttons
and icons components. In the next tutorial, we'll build our table and form UI to create a CRUD interface for
x
creating reading, updating and deleting items from or CRM REST API.

Background Acts Contacts Mp4 Download Contemporary accent chairs

https://www.techiediaries.com/angular-material-navigation-toolbar-sidenav/ 6/13
13/09/2019 Angular Material 8 Tutorial: Build Navigation UI with Toolbar and Side Navigation Menu | Techiediaries

About the Author x

Techiediaries is a website dedicated to bring you tutorials for the latest web technologies
Website
Twitter
LinkedIn
GitHub

https://www.techiediaries.com/angular-material-navigation-toolbar-sidenav/ 7/13
13/09/2019 Angular Material 8 Tutorial: Build Navigation UI with Toolbar and Side Navigation Menu | Techiediaries

05 Jun 2019 x

angular
angular8

« Angular 8 Data (Event & Property) Binding Tutorial: Build your First Angular App
Angular 8 Material Design Tutorial & Example »

report this ad

RELATED TUTORIALS
Responsive Images Tutorial for Angular 7/8 Devs

Angular 7/8 Authentication with JWT Tutorial

Angular 7/8 Tutorial: Login & Reactive Form Example with Validation

Angular 7/8 By Example: HTTP GET Requests with HttpClient (Services, Async Pipe and
Observables)

Using Bootstrap 4 with Angular 7/8

Angular 7/8 & Bootstrap 4 UIs: ng-bootstrap and ngx-bootstrap [Part 1]

Angular 7/8 and Bootstrap Tutorial

https://www.techiediaries.com/angular-material-navigation-toolbar-sidenav/ 8/13
13/09/2019 Angular Material 8 Tutorial: Build Navigation UI with Toolbar and Side Navigation Menu | Techiediaries

report this ad report this ad

https://www.techiediaries.com/angular-material-navigation-toolbar-sidenav/ 9/13
13/09/2019 Angular Material 8 Tutorial: Build Navigation UI with Toolbar and Side Navigation Menu | Techiediaries

Subscribe in a reader

Subscribe for Angular 8 Video Tutorials


Techiediaries

YouTube

https://www.techiediaries.com/angular-material-navigation-toolbar-sidenav/ 10/13
13/09/2019 Angular Material 8 Tutorial: Build Navigation UI with Toolbar and Side Navigation Menu | Techiediaries

report this ad

Get our books


Practical Angular: Build your first web apps with Angular 8
React Native for Beginners [2019]

Read our other tutorials


Angular Tutorial
Laravel 6 Tutorial
React Tutorial
React Hooks Tutorial
React Native Tutorial
Webpack Tutorial
PHP Tutorial
JavaScript Tutorial
Django Tutorial
Java Spring Tutorial
Rails 6 Tutorial
Ionic 4 Tutorial
TypeScript Tutorial
Bootstrap 4 Tutorial x
Electron Tutorial
Cordova Tutorial
HTML Tutorial

https://www.techiediaries.com/angular-material-navigation-toolbar-sidenav/ 11/13
13/09/2019 Angular Material 8 Tutorial: Build Navigation UI with Toolbar and Side Navigation Menu | Techiediaries

GraphQL Tutorial x
CSS Grid Layout Tutorial
PWA Tutorial

What do you think?


13 Responses

Upvote Funny Love Surprised Angry Sad

7 Comments techiediaries 
1 Login

 Recommend t Tweet f Share Sort by Best

Join the discussion…

LOG IN WITH
OR SIGN UP WITH DISQUS ?

Name

Gediminas Bukauskas • a month ago


2 very important questions are not answered: 1) how to create multilevel menu, 2) how to
insert separator above 'close'
1△ ▽ • Reply • Share ›

Brook • a month ago


First, i would like say THANK Y OU for tutorials. but ask i want to ask one question, we were
create a service for each component but we didn't use them Why?
△ ▽ • Reply • Share ›

techiediaries.com Mod > Brook • 14 days ago


No bp. We'll use them later in the next sections.
△ ▽ • Reply • Share ›

Bharathi • 3 months ago


Do we really need this tag <router-outlet></router-outlet> ?? why we are using it here?
△ ▽ • Reply • Share ›

techiediaries.com Mod > Bharathi • 3 months ago


This is where the Router will insert the matched components.
△ ▽ • Reply • Share ›

edem victor • 2 months ago


can i get the link to the next tutorial
△ ▽ • Reply • Share ›

abhiram s > edem victor • a month ago


can you please share the link here
https://www.techiediaries.com/angular-material-navigation-toolbar-sidenav/ 12/13
13/09/2019 Angular Material 8 Tutorial: Build Navigation UI with Toolbar and Side Navigation Menu | Techiediaries

△ ▽ • Reply • Share › x

ALSO ON TECHIEDIARIES

Fixing Dual Booting Windows 10 with Angular 8 Tutorial By Example: (REST API,
Ubuntu 19.04: Grub not Showing and … HttpClient GET, Components, Services & …
1 comment • 3 months ago 5 comments • 3 months ago
aye decoder — Thank you very much for this Juan Felipe Alvarez — it seems easy but I
Avatararticle. I am using Ubuntu 16.04 LTS on Avatarcouldn't. I need bring a list with category of
Windows 10 and it worked perfectly well for youtube videos. when I choose one, this bring

Ionic 4 React Tutorial: Build a Mobile App Angular 8 Tutorial: Build your First Angular
with Ionic 4, Axios and React App
1 comment • 5 months ago 1 comment • 3 months ago
Matt — Thanks! I disabled the axios data in this Gayathri S — Great!! Thanks for sharing the
Avatarscreenshot, but I followed your layout. The Avatarinformative blog about building a Calculator
header isn't quite right yet on the iOS devices. App with Angular JS.Custom Web Application

✉ Subscribe d Add Disqus to your siteAdd DisqusAdd 🔒 Disqus' Privacy PolicyPrivacy PolicyPrivacy

Copyright © 2019 Techiediaries

https://www.techiediaries.com/angular-material-navigation-toolbar-sidenav/ 13/13

You might also like