import { Component } from '@angular/core'; import { Router } from '@angular/router'; import { BreadcrumbService } from '../app/app.module'; @Component({ selector: 'app', template: `

Breadcrumb Example

` }) export class AppComponent { constructor(private breadcrumbService: BreadcrumbService) { breadcrumbService.addFriendlyNameForRoute('/comp1', 'Comp 1'); breadcrumbService.addFriendlyNameForRouteRegex('^/comp1/comp[0-9]$', 'Comp 2'); breadcrumbService.hideRoute('/comp1/comp2/comp3'); breadcrumbService.addCallbackForRouteRegex('/comp1/comp2/comp3/[0-9]', this.getName); } getName(id:string): string { return 'Comp ' + id; } } @Component({ selector: 'comp1', template: `

This is Component 1

` }) export class Component1 { constructor(private router: Router) { } goTo(): void { this.router.navigate(['/comp1/comp2']); } } @Component({ selector: 'comp2', template: `

This is Component 2

` }) export class Component2 { constructor(private router: Router) { } goTo(): void { this.router.navigate(['/comp1/comp2/comp3']); } } @Component({ selector: 'comp3', template: `

This is Component 3, which is hidden from the breadcrumb

` }) export class Component3 { constructor(private router: Router) { } goTo(): void { this.router.navigate(['/comp1/comp2/comp3/' + Math.floor(Math.random()*100))]); } } @Component({ selector: 'comp4', template: `

This is Component 4, which uses a callback to display its breadcrumb name

` }) export class Component4 { constructor() { } }