动态加载css文件以进行主题化

时间:2016-09-22 15:25:07

标签: angular

我有三个不同颜色主题的css文件,例如 theme1.css theme2.css theme3.css

我想根据所选类别加载它们。 是否可以在angular2中动态加载css文件? 处理这个问题的正确方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:12)

我不确定这是否正确。但你可以尝试这样 -

    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');
    }
}

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

看看这是否有帮助。