How to change the favicon dynamically in Angular
In this tutorial, we are going to learn about how to dynamically change the favicon in a angular app.
Changing favicon dynamically
-
Open the angular project in your favorite code editor.
-
Navigate to the
srcfolder and open theindex.htmlfile, add theidattribute to the following link tag.
<link rel="icon" id="appIcon" type="image/x-icon" href="favicon.ico">Now, we can access this favicon link tag inside our app.component.ts file using the document.querySelector() method by passing id #appIcon as an argument, then we need to update its href property with a new favicon like this.
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
// accessing favicon link tag
favIcon: HTMLLinkElement = document.querySelector('#appIcon');
changeIcon() {
this.favIcon.href = 'https://www.google.com/favicon.ico'; }
}In your app.component.html file add a <button> element with (click)="changeIcon()" event handler.
<div>
<button (click)="changeIcon()">Change icon</button></div>Now, if we click on the Change icon button our favicon is changed to Google's favicon.


