English 中文(简体)
Angular Material 7 - Side Nav
  • 时间:2024-11-03

Angular Material 7 - SideNav


Previous Page Next Page  

The <mat-sidenav>, an Angular Directive, is used to create a side navigation bar and main content panel with material design stypng and animation capabipties.

    <mat-sidenav-container> - Represents the main container.

    <mat-sidenav-content> - Represents the content panel.

    <mat-sidenav> - Represents the side panel.

In this chapter, we will showcase the configuration required to draw a sidenav control using Angular Material.

Create Angular Apppcation

Follow the following steps to update the Angular apppcation we created in Angular 6 - Project Setup chapter −

Step Description
1 Create a project with a name materialApp as explained in the Angular 6 - Project Setup chapter.
2 Modify app.module.ts, app.component.ts, app.component.css and app.component.html as explained below. Keep rest of the files unchanged.
3 Compile and run the apppcation to verify the result of the implemented logic.

Following is the content of the modified module descriptor app.module.ts.

import { BrowserModule } from  @angular/platform-browser ;
import { NgModule } from  @angular/core ;
import { AppComponent } from  ./app.component ;
import {BrowserAnimationsModule} from  @angular/platform-browser/animations ;
import {MatSidenavModule} from  @angular/material 
import {FormsModule, ReactiveFormsModule} from  @angular/forms ;
@NgModule({
   declarations: [
      AppComponent
   ],
   imports: [
      BrowserModule,
      BrowserAnimationsModule,
      MatSidenavModule,
      FormsModule,
      ReactiveFormsModule
   ],
   providers: [],
   bootstrap: [AppComponent]
})
export class AppModule { }

Following is the content of the modified CSS file app.component.css.

.tp-container {
   position: absolute;
   top: 0;
   bottom: 0;
   left: 0;
   right: 0;
   background: #eee;
}
.tp-section {
   display: flex;
   apgn-content: center;
   apgn-items: center;
   height: 60px;
   width:100px;   
}

Following is the content of the modified HTML host file app.component.html.

<mat-sidenav-container class = "tp-container">
   <mat-sidenav mode = "side" opened>
      <section class = "tp-section">
         <span>File</span>
      </section>
      <section class = "tp-section">
         <span>Edit</span>
      </section>
   </mat-sidenav>
   <mat-sidenav-content>Main content</mat-sidenav-content>
</mat-sidenav-container>

Result

Verify the result.

SideNav

Details

    As first, we ve created a main container spanning the complete page.

    Then side nav is created using mat-sidenav and content panel using mat-sidenav-content.

Advertisements