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",从而进行渲染

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值