import {Component, OnInit} from '@angular/core'; import {ActivatedRoute, Router} from '@angular/router'; import {Segment} from '../../models/segment.model'; @Component({ selector: 'home-page', templateUrl: 'home.page.html', styleUrls: [ 'home.page.scss' ], }) export class HomePage implements OnInit { public segments:Segment[] = [ { key: 'basic', label: 'Basic Example' } ]; public selectedSegment:string = this.segments[0].key; constructor( private route:ActivatedRoute, private router:Router ) { } ngOnInit():void { this.route.fragment.subscribe( (fragment) => { this.setSegment(fragment); } ); } onClickSegment(event:CustomEvent):void { if (event.detail && typeof event.detail.value === 'string') { const segment = event.detail.value; this.setSegment(segment); } } setSegment(segment:string):void { if (typeof segment === 'string') { segment = segment.toLowerCase(); const arrayHas = this.segments.some( (candidate) => { return candidate.key === segment; } ); if (arrayHas) { this.selectedSegment = segment; this.router.navigate( [], { fragment: segment } ).then(); } } } }