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
src
folder and open theindex.html
file, add theid
attribute 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
.