如何使用 Angular 根据当前选择的语言更改导入 scss
How change import scss based on current selected language with Angular
我在 Angular 应用程序中使用 angular-translate。
我想根据当前选择的语言更改导入的 scss 文件
@import 'partials/reset';
@import 'partials/variables_ar'; <--------- OR
@import 'partials/variables_en'; <--------- Based on $translate.use();
@import 'partials/mixins';
@import 'partials/angular-material-extend';
@import 'partials/layouts-template';
@import 'partials/layouts-page';
@import 'partials/animations';
@import 'partials/colors';
@import 'partials/icons';
由于 SASS 是在编译时构建的,而不是 运行 时,你无法通过这种方式实现你想要做的事情。
我认为最适合您的方法是根据用户选择的语言更改 class,然后根据 class 设置您的 Web 应用程序的样式。例如你的 HTML:
<body class="{{ languageCode }}">
<header>My Header</header>
</body>
和您的 SCSS:
body.en {
header { color: blue; }
}
body.fr {
header { color: red; }
}
我在 Angular 应用程序中使用 angular-translate。
我想根据当前选择的语言更改导入的 scss 文件
@import 'partials/reset';
@import 'partials/variables_ar'; <--------- OR
@import 'partials/variables_en'; <--------- Based on $translate.use();
@import 'partials/mixins';
@import 'partials/angular-material-extend';
@import 'partials/layouts-template';
@import 'partials/layouts-page';
@import 'partials/animations';
@import 'partials/colors';
@import 'partials/icons';
由于 SASS 是在编译时构建的,而不是 运行 时,你无法通过这种方式实现你想要做的事情。
我认为最适合您的方法是根据用户选择的语言更改 class,然后根据 class 设置您的 Web 应用程序的样式。例如你的 HTML:
<body class="{{ languageCode }}">
<header>My Header</header>
</body>
和您的 SCSS:
body.en {
header { color: blue; }
}
body.fr {
header { color: red; }
}