Angular PrimeNG菜单组件

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

项目结构。它将看起来像以下。

Angular PrimeNG菜单组件

例子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'
          }
        ]
      }
    ];
  }
}

输出:

Angular PrimeNG菜单组件

例子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'
          }
        ]
      }
    ];
  }
}

输出:

Angular PrimeNG菜单组件

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程