AngularJS根据区域设置加载不同的css文件

时间:2015-07-07 13:13:50

标签: css angularjs internationalization

我有一个支持波斯语和英语的多语言应用程序,因为你可能知道波斯语是RTL,所以我在我的gulp文件中用css-flipper在rtl中创建我的整个css文件的另一个版本,我的问题是我不能注射它们(使用gulp-inject,原因很明显!)所以我必须手动将它们插入我的index.html 做这个的最好方式是什么? 目前我使用angular-css根据我的语言环境添加css文件(我使用angular-local)在它的构造函数中(我使用了带有Swiip角度生成器的typescript)

另外,我应该能够删除ltr css文件并添加rtl css文件,反之亦然

export class MainController {
    private $translate: angular.translate.ITranslateProvider;
    private $css;

    public constructor($translate: angular.translate.ITranslateProvider, $css: Object) {
        this.$translate = $translate;
        this.$css = $css;
        if (this.getLang() === 'en') {
        this.$css.add('app/index.min.css');
        } else {
            this.$css.add('app/index.rtl.min.css');
        }
    }

    public getLang() {
        return this.$translate.use();
    }

    public changeLang() {
        if (this.getLang() === 'fa') {
            this.$translate.use('en');
            this.$css.remove('app/index.rtl.min.css');
            this.$css.add('app/index.min.css');
        } else {
            this.$translate.use('fa');
            this.$css.remove('app/index.min.css');
            this.$css.add('app/index.rtl.min.css');
        }
    }
}

0 个答案:

没有答案