Open In App

Angular PrimeNG MegaMenu Component

Angular PrimeNG is an open-source framework with a rich set of native Angular UI components that are used for great styling and this framework is used to make responsive websites with very much ease. In this article, we will know how to use the MegaMenu component in Angular PrimeNG. We will also learn about the properties, styling along with their syntaxes that will be used in the code. 

MegaMenu component: It is a navigation component that is used to make a component with multiple numbers of the menu.



Properties:

Styling:



Creating Angular application & module installation:

ng new appname
cd appname
npm install primeng --save
npm install primeicons --save

Project Structure: It will look like the following:

Example 1: This is the basic example that illustrates how to use the MegaMenu component.

Filename: app.component.html




<h2>GeeksforGeeks</h2>
<h5>PrimeNG MegaMenu Component</h5>
<p-megaMenu [model]="gfg"></p-megaMenu>

Filename: app.module.ts




import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } 
    from '@angular/platform-browser/animations';
  
import { AppComponent } from './app.component';
import { MegaMenuModule } from 'primeng/megamenu';
  
@NgModule({
  imports: [BrowserModule, 
              BrowserAnimationsModule, 
            MegaMenuModule],
  declarations: [AppComponent],
  bootstrap: [AppComponent]
})
export class AppModule {}

Filename: app.component.ts




import { Component } from '@angular/core';
import { MegaMenuItem } from 'primeng/api';
  
@Component({
  selector: 'my-app',
  templateUrl: './app.component.html'
})
export class AppComponent {
  gfg: MegaMenuItem[];
  
  ngOnInit() {
    this.gfg = [
      {
        label: 'GeeksforGeeks',
        items: [
          [
            {
              label: 'AngularJS',
              items: [{ label: 'AngularJS 1' }, { label: 'AngularJS 2' }]
            },
            {
              label: 'ReactJS',
              items: [{ label: 'ReactJS 1' }, { label: 'ReactJS 2' }]
            }
          ],
          [
            {
              label: 'HTML',
              items: [{ label: 'HTML 1' }, { label: 'HTML 2' }]
            },
            {
              label: 'PrimeNG',
              items: [{ label: 'PrimeNG 1' }, { label: 'PrimeNG 2' }]
            }
          ]
        ]
      }
    ];
  }
}

Output:

Example 2: In this example, we will know how to use the orientation property in the MegaMenu component.

Filename: app.component.html




<h2>GeeksforGeeks</h2>
<h5>PrimeNG MegaMenu Component</h5>
<p-megaMenu [model]="gfg" orientation='vertical'></p-megaMenu>

Filename: app.module.ts




import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } 
    from '@angular/platform-browser/animations';
  
import { AppComponent } from './app.component';
import { MegaMenuModule } from 'primeng/megamenu';
  
@NgModule({
  imports: [BrowserModule, 
              BrowserAnimationsModule, 
            MegaMenuModule],
  declarations: [AppComponent],
  bootstrap: [AppComponent]
})
export class AppModule {}

Filename: app.component.ts




import { Component } from '@angular/core';
import { MegaMenuItem } from 'primeng/api';
  
@Component({
  selector: 'my-app',
  templateUrl: './app.component.html'
})
export class AppComponent {
  gfg: MegaMenuItem[];
  
  ngOnInit() {
    this.gfg = [
      {
        label: 'GeeksforGeeks',
        items: [
          [
            {
              label: 'AngularJS',
              items: [{ label: 'AngularJS 1' }, { label: 'AngularJS 2' }]
            },
            {
              label: 'ReactJS',
              items: [{ label: 'ReactJS 1' }, { label: 'ReactJS 2' }]
            }
          ],
          [
            {
              label: 'HTML',
              items: [{ label: 'HTML 1' }, { label: 'HTML 2' }]
            },
            {
              label: 'PrimeNG',
              items: [{ label: 'PrimeNG 1' }, { label: 'PrimeNG 2' }]
            }
          ]
        ]
      }
    ];
  }
}

Output:

Reference: https://primefaces.org/primeng/megamenu


Article Tags :