9

I have three css files with different color themes e.g. theme1.css theme2.css theme3.css

I want to load them depending on the selected category. Is it possible to load css files dynamically in angular2? What´s the proper way to handle this?

Thanks!

doorman
  • 15,707
  • 22
  • 80
  • 145

1 Answers1

12

I am not sure if this is proper way. But you can try like this-

    import { Component, Inject } from '@angular/core';
    import { DOCUMENT } from '@angular/platform-browser';

    @Component({
    })

    export class SomeComponent {

        constructor (@Inject(DOCUMENT) private document) { }

        LightTheme() {
            this.document.getElementById('theme').setAttribute('href', 'light-theme.css');


        DarkTheme() {
            this.document.getElementById('theme').setAttribute('href', 'dark-theme.css');
    }
}

Reference: https://angular.io/docs/ts/latest/api/platform-browser/index/DOCUMENT-let.html

See if this helps.

Sanket
  • 19,295
  • 10
  • 71
  • 82