Angular Material - популярный UI-фреймворк, основанный на Material Design для Angular.
В этой статье мы рассмотрим, как использовать Angular Material в нашем проекте Angular.
Sidenav
Angular имеет компонент sidenav.
Мы можем добавить это, написав:
app.module.ts
import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { MatSidenavModule } from '@angular/material/sidenav'; import { MatButtonModule } from '@angular/material/button'; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, AppRoutingModule, BrowserAnimationsModule, MatSidenavModule, MatButtonModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule { }
app.module.html
<div> <mat-drawer-container class="example-container" autosize> <mat-drawer #drawer class="example-sidenav" mode="side"> <p>Auto-resizing sidenav</p> <p *ngIf="showFiller">Lorem, ipsum dolor sit amet consectetur.</p> <button (click)="showFiller = !showFiller" mat-raised-button> Toggle extra text </button> </mat-drawer> <div class="example-sidenav-content"> <button type="button" mat-button (click)="drawer.toggle()"> Toggle sidenav </button> </div> </mat-drawer-container> </div>
app.component.ts
import { Component } from '@angular/core'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { showFiller = false; }
styles.css
.example-container { height: 100vh; }
Мы добавляем боковую навигацию с mat-drawer-container
в качестве контейнера.
mat-drawer
- выдвижной ящик с боковой навигацией.
Кнопка Toggle sidenav показывает ящик.
Кнопка «Переключить дополнительный текст» закрывает ящик.
Отображение текста-заполнителя контролируется showFiller
.
drawer.toggle()
позволяет нам переключать ящик.
Переключатели слайдов
Мы можем добавить переключатель с компонентом mat-slide-toggle
.
Например, мы можем написать:
app.module.ts
import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { MatSlideToggleModule } from '@angular/material/slide-toggle'; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, AppRoutingModule, BrowserAnimationsModule, MatSlideToggleModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule { }
app.component.html
<div> <mat-slide-toggle color="red" [checked]="true" [disabled]="false"> Slide me! </mat-slide-toggle> </div>
Мы добавляем MatSlideToggleModule
в наш модуль, чтобы мы могли добавить компонент mat-slide-toggle
в шаблон.
checked
устанавливает отмеченное состояние.
disabled
отключает его, если true
.
color
устанавливает цвет.
Слайдер
Мы можем добавить слайдер с компонентом mat-slider
.
Например, мы можем написать:
app.module.ts
import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { MatSliderModule } from '@angular/material/slider'; import { MatCardModule } from '@angular/material/card'; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, AppRoutingModule, BrowserAnimationsModule, MatSliderModule, MatCardModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule { }
app.component.html
<div> <mat-card class="example-result-card"> <mat-card-content> <mat-slider min="1" max="5" step="0.5" value="1.5"></mat-slider> </mat-card-content> </mat-card> </div>
Добавление MatSliderModule
позволяет нам добавить mat-slider
в наш шаблон.
min
имеет минимально допустимое значение.
max
имеет максимально допустимое значение.
step
имеет интервал, который мы можем установить.
value
- значение ползунка.
Заключение
Мы можем добавить боковые навигации, переключатели слайдов и ползунки в наше приложение Angular с помощью Angular Material.