angular6深入理解之css国际化解决方案
问题背景:ngx-translate库实现了语言国际化,但不同语言间css样式的加载方式没有提供解决方案。
解决方案:
1,component文件添加一个变量来获取别当前语言
@Component({
selector: 'app',
templateUrl: './app.component.html',
styleUrls: ['./app.component-en.css']
})
export class AppComponent {
lang_ = '-en'; // 值为“-”加当前语言(this.translateService.currentLang),假设是为en
}2,app.component-en.css 代码中的样式均以 -en结尾
.class-name-en {
}3,app.component.html ,通过[class]=""方式引入动态类名
<div [class]="'class-name'+lang_"></div>
这样编译后"'class-name'+lang_"会变成"class-name-en",从而进行渲染