Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | 1x 2x 2x 2x 2x 2x 1x 1x | import { inject, Injectable } from '@angular/core'; import { Title } from '@angular/platform-browser'; import { TitleStrategy } from '@angular/router'; import type { RouterStateSnapshot } from '@angular/router'; /** * Sets the current HTML page title using the title value from the route. */ @Injectable({ providedIn: 'root' }) export class AppTitleStrategyService extends TitleStrategy { /** Title tag content from index.html */ private readonly _baseTitle: string; private readonly _title: Title; constructor() { super(); this._title = inject(Title); // Tested in `ng serve` and `ng build` that this gets the <title> from index.html this._baseTitle = this._title.getTitle(); } /** * Sets the current title for the page from the route, suffixing with the value in the title * element in index.html. */ public updateTitle(snapshot: RouterStateSnapshot): void { const pageTitle = this.buildTitle(snapshot); if (pageTitle == undefined) { this._title.setTitle(this._baseTitle); } else { this._title.setTitle(`${pageTitle} | ${this._baseTitle}`); } } } |