События меню 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