События меню Angular PrimeNG
Angular PrimeNG — это библиотека с открытым исходным кодом, состоящая из собственных компонентов пользовательского интерфейса Angular, которые используются для отличного стиля, и эта структура используется для очень легкого создания адаптивных веб-сайтов. В этой статье мы увидим события меню Angular PrimeNG.
Компонент меню используется для навигации по веб-приложению и поддерживает как статическое, так и динамическое позиционирование. Два события компонента Menu с именем onShow и onHide описаны ниже.
События меню Angular PrimeNG:
- onShow: это событие принимает обратный вызов для вызова при отображении меню наложения.
- onHide: это событие принимает обратный вызов для вызова, когда меню наложения скрыто.
Синтаксис:
<p-menu (menu-event)="callback()" [model]="..." [popup]="true"> </p-menu>
Создание приложения Angular и установка модуля:
Шаг 1: Создайте приложение Angular, используя следующую команду.
ng new appname
Шаг 2: После создания папки проекта, т. е. имени приложения, перейдите к ней с помощью следующей команды.
cd appname
Шаг 3: Наконец, установите PrimeNG в указанный вами каталог.
npm install primeng --save npm install primeicons --save
Структура проекта: Структура проекта будет выглядеть следующим образом после выполнения вышеуказанных шагов:
Пример 1. Этот пример иллюстрирует использование события onShow для меню в режиме всплывающего окна и показывает всплывающее сообщение при срабатывании события.
приложение.component.html:
HTML
< h1 style = "color:green" > GeeksforGeeks </ h1 > < h3 > Angular PrimeNG Menu Events </ h3 > < p-button icon = "pi pi-window-maximize" label = "Open Menu" (click)="myMenu.toggle($event)"> </ p-button > < p-menu #myMenu [model]="navigation" [popup]="true" (onShow)="menuOnShow()"> </ p-menu > < p-toast ></ p-toast > |
app.component.ts:
Javascript
import { Component } from "@angular/core" ; import { MenuItem, MessageService } from "primeng/api" @Component({ selector: "app-root" , templateUrl: "./app.component.html" , styleUrls: [ "./app.component.css" ], providers: [MessageService] }) export class AppComponent { constructor(private msg: MessageService){} navigation: MenuItem[] = []; ngOnInit() { this .navigation = [ { label: "Home" , icon: "pi pi-home" }, { label: "Blog" , icon: "pi pi-book" }, { label: "Tools" , icon: "pi pi-cog" }, { label: "Cart" , icon: "pi pi-shopping-cart" }, { label: "Search" , icon: "pi pi-search" } ] } menuOnShow() { this .msg.add({ severity: "success" , summary: "Menu Shown" , detail: "onShow Event Triggered" }) } } |
app.module.ts:
Javascript
import { NgModule } from "@angular/core" ; import { BrowserModule } from "@angular/platform-browser" ; import { HttpClientModule } from "@angular/common/http" ; import { BrowserAnimationsModule } from "@angular/platform-browser/animations" ; import { AppComponent } from "./app.component" ; import { FormsModule } from "@angular/forms" ; import { ToastModule } from "primeng/toast" ; import { ButtonModule } from "primeng/button" ; import { MenuModule } from "primeng/menu" ; @NgModule({ imports: [ BrowserModule, BrowserAnimationsModule, HttpClientModule, ToastModule, FormsModule, MenuModule, ButtonModule ], declarations: [AppComponent], bootstrap: [AppComponent] }) export class AppModule { } |
Выход:
Пример 2: В приведенном ниже примере мы будем использовать onHide событие всплывающего меню для отображения всплывающего сообщения, когда меню скрыто.
приложение.component.html:
HTML
< h1 style = "color:green" > GeeksforGeeks </ h1 > < h3 > Angular PrimeNG Menu Events </ h3 > < h4 >OnHide Event - PrimeNG Menu</ h4 > < p-button icon = "pi pi-window-maximize" label = "Open Menu" (click)="myMenu.toggle($event)"> </ p-button > < p-menu #myMenu (onHide)="menuOnHide()" [model]="navigation" [popup]="true"> </ p-menu > < p-toast ></ p-toast > |
app.component.ts:
Javascript
import { Component } from "@angular/core" ; import { MenuItem, MessageService } from "primeng/api" @Component({ selector: "app-root" , templateUrl: "./app.component.html" , styleUrls: [ "./app.component.css" ], providers: [MessageService] }) export class AppComponent { constructor(private msg: MessageService){} navigation: MenuItem[] = []; ngOnInit() { this .navigation = [ { label: "Home" , icon: "pi pi-home" }, { label: "Blog" , icon: "pi pi-book" }, { label: "Tools" , icon: "pi pi-cog" }, { label: "Cart" , icon: "pi pi-shopping-cart" }, { label: "Search" , icon: "pi pi-search" } ] } menuOnHide() { this .msg.add({ severity: "error" , summary: "Menu Hidden" , detail: "onHide Event Fired" }) } } |
app.module.ts:
Javascript
import { Component } from "@angular/core" ; import { MenuItem, MessageService } from "primeng/api" @Component({ selector: "app-root" , templateUrl: "./app.component.html" , styleUrls: [ "./app.component.css" ], providers: [MessageService] }) export class AppComponent { constructor(private msg: MessageService) { } navigation: MenuItem[] = []; ngOnInit() { this .navigation = [ { label: "Home" , icon: "pi pi-home" }, { label: "Blog" , icon: "pi pi-book" }, { label: "Tools" , icon: "pi pi-cog" }, { label: "Cart" , icon: "pi pi-shopping-cart" }, { label: "Search" , icon: "pi pi-search" } ] } menuOnHide() { this .msg.add({ severity: "error" , summary: "Menu Hidden" , detail: "onHide Event Fired" }) } } |
Выход:
Ссылка: https://www.primefaces.org/primeng/menu