Getting started with Angular Breadcrumb component

27 Aug 202510 minutes to read

This section explains how to create a simple Breadcrumb component and demonstrates the basic usage of the Breadcrumb module in an Angular environment. The Breadcrumb component provides a navigation aid that helps users understand their current location within a hierarchy of pages or sections, displaying clickable links to parent levels.

Dependencies

The following dependencies are required to use the Breadcrumb module in your Angular application:

|-- @syncfusion/ej2-angular-navigations
    |-- @syncfusion/ej2-angular-base
    |-- @syncfusion/ej2-navigations
        |-- @syncfusion/ej2-base
        |-- @syncfusion/ej2-data
        |-- @syncfusion/ej2-lists
        |-- @syncfusion/ej2-inputs
        |-- @syncfusion/ej2-splitbuttons
        |-- @syncfusion/ej2-popups
            |-- @syncfusion/ej2-buttons

Setup Angular environment

You can use Angular CLI to setup your Angular applications. To install Angular CLI use the following command.

npm install -g @angular/cli

Create an Angular application

Start a new Angular application using below Angular CLI command.

ng new my-app
cd my-app

Installing Syncfusion® Breadcrumb Package

Syncfusion® packages are distributed in npm as @syncfusion scoped packages. You can get all the Angular Syncfusion® packages from npm link.

Currently, Syncfusion® provides two types of package structures for Angular components:

  1. Ivy library distribution package format
  2. Angular compatibility compiler(Angular’s legacy compilation and rendering pipeline) package.

Ivy library distribution package

Syncfusion® Angular packages(>=20.2.36) have been moved to the Ivy distribution to support the Angular Ivy rendering engine and the packages are compatible with Angular version 12 and above. To download the package use the below command.

Add @syncfusion/ej2-angular-navigations package to the application.

npm install @syncfusion/ej2-angular-navigations --save

Angular compatibility compiled package(ngcc)

For Angular versions below 12, you can use the legacy (ngcc) package of the Syncfusion® Angular components. To download the ngcc package use the command below.

Add @syncfusion/ej2-angular-navigations@ngcc package to the application.

npm install @syncfusion/ej2-angular-navigations@ngcc --save

To specify the ngcc package in the package.json file, add the suffix -ngcc with the package version as shown below.

@syncfusion/ej2-angular-navigations:"20.2.38-ngcc"

Note: If the ngcc tag is not specified while installing the package, the Ivy Library Package will be installed and this package will throw a warning.

Adding Syncfusion® Breadcrumb component

Modify the template in app.component.ts file with ejs-breadcrumb to render the Breadcrumb component.

import { BreadcrumbModule } from '@syncfusion/ej2-angular-navigations'
import { Component } from '@angular/core';
import { enableRipple } from '@syncfusion/ej2-base';

enableRipple(true);

@Component({
imports: [ BreadcrumbModule],
standalone: true,
selector: 'app-root',
template: `<!-- To Render Breadcrumb. -->
  <ejs-breadcrumb [enableNavigation]="false"></ejs-breadcrumb>`
})

export class AppComponent {}

Adding CSS reference

Add Breadcrumb component’s styles as given below in style.css.

@import '../node_modules/@syncfusion/ej2-base/styles/material.css';
@import '../node_modules/@syncfusion/ej2-navigations/styles/material.css';

Running the application

Run the application in the browser using the following command:

ng serve

The following example shows a basic Breadcrumb component.

import { NgModule } from '@angular/core'
import { BrowserModule } from '@angular/platform-browser'
import { BreadcrumbModule } from '@syncfusion/ej2-angular-navigations'



import { Component } from '@angular/core';
import { enableRipple } from '@syncfusion/ej2-base';

enableRipple(true);

@Component({
imports: [ BreadcrumbModule],


standalone: true,
    selector: 'app-root',
    template: `<div class="e-section-control">
            <!-- To Render Breadcrumb. -->
            <ejs-breadcrumb [enableNavigation]="false"></ejs-breadcrumb></div>`
})

export class AppComponent {}
import { bootstrapApplication } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import 'zone.js';
bootstrapApplication(AppComponent).catch((err) => console.error(err));

Add Items to the Breadcrumb Component

Use the items property to bind items for the Breadcrumb component. Each item in the items array follows the BreadcrumbItemModel interface, which includes properties like text (display text), url (navigation link), iconCss (icon class), and disabled (enable/disable state). The example below demonstrates the basic rendering of Breadcrumb with items support.

import { NgModule } from '@angular/core'
import { BrowserModule } from '@angular/platform-browser'
import { BreadcrumbModule } from '@syncfusion/ej2-angular-navigations'



import { Component } from '@angular/core';
import { enableRipple } from '@syncfusion/ej2-base';

enableRipple(true);

@Component({
imports: [ BreadcrumbModule],


standalone: true,
    selector: 'app-root',
    template: `<div class="e-section-control">
                <!-- To Render Breadcrumb with items. -->
            <ejs-breadcrumb [enableNavigation]="false">
                <e-breadcrumb-items>
                    <e-breadcrumb-item iconCss="e-icons e-home" url="https://ej2.syncfusion.com/home/angular.html"></e-breadcrumb-item>
                    <e-breadcrumb-item text="Components" url="https://ej2.syncfusion.com/angular/demos/#/material/grid/over-view"></e-breadcrumb-item>
                    <e-breadcrumb-item text="Navigations" url="https://ej2.syncfusion.com/angular/demos/#/material/breadcrumb/default"></e-breadcrumb-item>
                    <e-breadcrumb-item text="Breadcrumb" url="./breadcrumb/default"></e-breadcrumb-item>
                </e-breadcrumb-items>
            </ejs-breadcrumb>
            </div>`
})

export class AppComponent {}
import { bootstrapApplication } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import 'zone.js';
bootstrapApplication(AppComponent).catch((err) => console.error(err));

Enable or Disable Navigation

This feature enables or disables item navigation functionality. By default, navigation will be enabled when the url property is set for breadcrumb items. To prevent breadcrumb item navigation, set the enableNavigation property to false. When navigation is disabled, clicking on breadcrumb items will not navigate to their specified URLs. The example below shows how to enable and disable navigation for Breadcrumb items.

import { NgModule } from '@angular/core'
import { BrowserModule } from '@angular/platform-browser'
import { BreadcrumbModule } from '@syncfusion/ej2-angular-navigations'



import { Component } from '@angular/core';
import { enableRipple } from '@syncfusion/ej2-base';

enableRipple(true);

@Component({
imports: [ BreadcrumbModule],


standalone: true,
    selector: 'app-root',
    template: `<div class="e-section-control">
        <!-- To Render Breadcrumb with items. -->
        <div id="breadcrumb-control">
            <div class="header"><b>EnableNavigation - false</b></div><br />
            <ejs-breadcrumb [enableNavigation]='false'>
                <e-breadcrumb-items>
                    <e-breadcrumb-item iconCss= 'e-icons e-home' url= 'https://ej2.syncfusion.com/angular/demos/'>
                    </e-breadcrumb-item>
                    <e-breadcrumb-item text= 'Components' url= 'https://ej2.syncfusion.com/angular/demos/datagrid/overview'>
                    </e-breadcrumb-item>
                    <e-breadcrumb-item text= 'Navigations' url= 'https://ej2.syncfusion.com/angular/demos/menu/default'>
                    </e-breadcrumb-item>
                    <e-breadcrumb-item text= 'Breadcrumb' url= 'https://ej2.syncfusion.com/angular/demos/breadcrumb/default'>
                    </e-breadcrumb-item>
                </e-breadcrumb-items>
            </ejs-breadcrumb>
            <br />
            <br/>
            <div class="header"><b>EnableNavigation - true</b></div><br />
            <ejs-breadcrumb [enableNavigation]='true'>
                <e-breadcrumb-items>
                    <e-breadcrumb-item iconCss= 'e-icons e-home' url= 'https://ej2.syncfusion.com/angular/demos/'>
                    </e-breadcrumb-item>
                    <e-breadcrumb-item text= 'Components' url= 'https://ej2.syncfusion.com/angular/demos/datagrid/overview'>
                    </e-breadcrumb-item>
                    <e-breadcrumb-item text= 'Navigations' url= 'https://ej2.syncfusion.com/angular/demos/menu/default'>
                    </e-breadcrumb-item>
                    <e-breadcrumb-item text= 'Breadcrumb' url= 'https://ej2.syncfusion.com/angular/demos/breadcrumb/default'>
                    </e-breadcrumb-item>
                </e-breadcrumb-items>
            </ejs-breadcrumb>
        </div>
        </div>`
})

export class AppComponent {}
import { bootstrapApplication } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import 'zone.js';
bootstrapApplication(AppComponent).catch((err) => console.error(err));