Angular - ngx-translate - 检查Angular是否存在翻译密钥

问题描述 投票:0回答:1

我在Angular应用程序中使用ngx-translate。

我的HTML模板:

<span [ngClass]="(role === 'ADMIN') ? 'badge badge-danger' : 'badge badge-success'">{{ 'ADMIN.USER.ROLES.' + role | translate }}</span>

我的i18n json文件:

"ADMIN": {
  "USER": {
    "ROLES": {
      "ADMIN": "Administrator",
      "FOO": "Auditor FOO",
      "DOO": "Auditor DOO",
      "ROO": "Auditor ROO",
      "unknown": "Unknown"
    }
  }
}

如果我的角色是BIPBIP,我想使用'ADMIN.USER.ROLES.unknown'键。

我在寻找HTML模板解决方案(不是Javascript):

this._translateService.get("app.key").subscribe(res=>{
    if(...) {
        // message does not exist
    }
    else {
        // message exists
    }
}))
angular ngx-translate
1个回答
0
投票

我真的认为这应该用JavaScript中的函数来完成。假设你有一个名为ADMIN的映射对象,你可以这样做。

<span [ngClass]="(role === 'ADMIN') ? 'badge badge-danger' : 'badge badge-success'">{{ this.ADMIN.USER.ROLES[role] ? 'ADMIN.USER.ROLES.' + role : 'ADMIN.USER.ROLES.unknown' | translate }}</span>
© www.soinside.com 2019 - 2024. All rights reserved.