Materiał kątowy 7 - Menu

Plik <mat-menu>, dyrektywa kątowa, służy do tworzenia menu i dołączania do niego elementu sterującego z funkcjami stylizacji i animacji materiałów.

W tym rozdziale pokażemy konfigurację wymaganą do narysowania elementu sterującego menu przy użyciu materiału kątowego.

Utwórz aplikację kątową

Wykonaj następujące kroki, aby zaktualizować aplikację Angular, którą utworzyliśmy w Angular 6 - rozdział Konfiguracja projektu -

Krok Opis
1 Utwórz projekt o nazwie materialApp, jak wyjaśniono w rozdziale Angular 6 - Konfiguracja projektu .
2 Zmodyfikuj app.module.ts , app.component.ts , app.component.css i app.component.html, jak wyjaśniono poniżej. Resztę plików nie zmieniaj.
3 Skompiluj i uruchom aplikację, aby zweryfikować wynik zaimplementowanej logiki.

Poniżej znajduje się treść zmodyfikowanego deskryptora modułu 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 {MatMenuModule, MatButtonModule} from '@angular/material'
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
@NgModule({
   declarations: [
      AppComponent
   ],
   imports: [
      BrowserModule,
      BrowserAnimationsModule,
      MatMenuModule, MatButtonModule,
      FormsModule,
      ReactiveFormsModule
   ],
   providers: [],
   bootstrap: [AppComponent]
})
export class AppModule { }

Poniżej znajduje się zawartość zmodyfikowanego pliku hosta HTML app.component.html.

<button mat-button [matMenuTriggerFor] = "menu">File</button>
<mat-menu #menu = "matMenu">
   <button mat-menu-item>New</button>
   <button mat-menu-item>Open</button>
   <button mat-menu-item [matMenuTriggerFor] = "recent">Recent</button>
</mat-menu>
<mat-menu #recent = "matMenu">
   <button mat-menu-item>File 1</button>
   <button mat-menu-item>File 2</button>
</mat-menu>

Wynik

Sprawdź wynik.

Detale

  • Najpierw stworzyliśmy dwa menu za pomocą mat-menu i powiązaliśmy je z przyciskami za pomocą matMenuTriggerFor.

  • matMenuTriggerFor przekazuje identyfikator menu w celu dołączenia menu.