Angular PrimeNG菜单组件
Angular PrimeNG是一个开源框架,它有丰富的原生Angular UI组件,可以用来做很好的造型,这个框架用来做响应式网站,非常方便。在这篇文章中,我们将了解如何在Angular PrimeNG中使用菜单组件。我们还将学习属性、事件、方法和造型,以及代码中使用的语法。
菜单组件:它用于制作一个包含一些信息并支持静态或动态定位的组件。
属性:
- model。它是一个菜单项的数组。它接受数组数据类型作为输入,默认值为空。
- popup。它用于定义菜单是否会以弹出式方式显示。它是布尔数据类型,默认值是false。
- style。它用于设置组件的内联风格。它的数据类型为字符串,默认值为空。
- styleClass。它用于设置组件的风格类别。它的数据类型为字符串,默认值为空。
- appendTo。它是用于附加覆盖的目标元素。它接受任何数据类型,默认值为空。
- baseZIndex。它用于设置分层中使用的基础ZIndex值。它是数字数据类型,默认值是0。
- autoZIndex。它用于指定是否自动管理分层。它是布尔数据类型,默认值为true。
- showTransitionOptions。用来显示动画的过渡选项。它是字符串数据类型,默认值是0.12s cubic-bezier(0, 0, 0.2, 1)。
- hideTransitionOptions。它用于隐藏隐藏动画的过渡选项。它的数据类型是字符串,默认值是0.1s线性。
事件:
- onShow。它是一个回调,当叠加菜单显示时被触发。
- onHide。它是一个回调,当覆盖菜单被隐藏时被触发。
方法:
- toggle。它用于切换弹出式菜单的可见性。
- show。它用于显示弹出式菜单。
- hide。它用于隐藏弹出式菜单。
样式:
- p-menu:它是一个容器元素。
- p-menu-list:它是一个列表元素。
- p-menuitem:它是一个menuitem元素。
- p-menuitem-text: 它是一个menuitem的标签。
- p-menuitem-icon: 它是一个menuitem的图标。
创建Angular应用程序和模块安装。
- 第1步:使用以下命令创建一个Angular应用程序。
ng new appname
- 第2步:在创建你的项目文件夹即appname后,使用以下命令移动到它。
cd appname
- 第3步:在你给定的目录中安装PrimeNG。
npm install primeng --save
npm install primeicons --save
项目结构。它将看起来像以下。
例子1:这是一个基本的例子,展示了如何使用菜单组件。
<h2>GeeksforGeeks</h2>
<h5>PrimeNG Menu Component</h5>
<p-menu [model]="gfg"></p-menu>
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule }
from '@angular/platform-browser/animations';
import { AppComponent } from './app.component';
import { MenuModule } from 'primeng/menu';
import { ButtonModule } from 'primeng/button';
@NgModule({
imports: [BrowserModule,
BrowserAnimationsModule,
MenuModule, ButtonModule],
declarations: [AppComponent],
bootstrap: [AppComponent]
})
export class AppModule {}
import { Component } from '@angular/core';
import { MenuItem } from 'primeng/api';
@Component({
selector: 'my-app',
templateUrl: './app.component.html'
})
export class AppComponent {
gfg: MenuItem[];
ngOnInit() {
this.gfg = [
{
label: 'HTML',
items: [
{
label: 'HTML 1'
},
{
label: 'HTML 2'
}
]
},
{
label: 'Angular',
items: [
{
label: 'Angular 1'
},
{
label: 'Angular 2'
}
]
}
];
}
}
输出:
例子2:在这个例子中,我们使用一个按钮制作一个菜单列表。
<h2>GeeksforGeeks</h2>
<h5>PrimeNG Menu Component</h5>
<button type="button" pButton pRipple label="Click Here"
(click)="menu.toggle($event)"></button>
<p-menu #menu [popup]="true" [model]="gfg"></p-menu>
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule }
from '@angular/platform-browser/animations';
import { AppComponent } from './app.component';
import { MenuModule } from 'primeng/menu';
import { ButtonModule } from 'primeng/button';
import { RippleModule } from 'primeng/ripple';
@NgModule({
imports: [
BrowserModule,
BrowserAnimationsModule,
MenuModule,
RippleModule,
ButtonModule
],
declarations: [AppComponent],
bootstrap: [AppComponent]
})
export class AppModule {}
import { Component } from '@angular/core';
import { MenuItem, MessageService, PrimeNGConfig } from 'primeng/api';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
providers: [MessageService]
})
export class AppComponent {
gfg: MenuItem[];
constructor(
private messageService: MessageService,
private primengConfig: PrimeNGConfig
) {}
ngOnInit() {
this.primengConfig.ripple = true;
this.gfg = [
{
label: 'HTML',
items: [
{
label: 'HTML 1'
},
{
label: 'HTML 2'
}
]
},
{
label: 'Angular',
items: [
{
label: 'Angular 1'
},
{
label: 'Angular 2'
}
]
}
];
}
}
输出: