三元运算符中的角度平移滤波器

问题描述 投票:3回答:4

我正在尝试将我的项目翻译成另一种语言。我使用了角度翻译库,并提供了带有翻译的外部JSON文件。它看起来像这样:

{
  "hello_world": "Hola Mundo"
}

当我使用简单的硬编码字符串时它工作得很好,我得到了正确的翻译:

<p>{{ "hello_world" | translate }}</p>

但是如何在这样的代码中处理三元运算符呢?

<button> {{ conditionValue ? 'Show' : 'Hide' }} </button>

如何将这些“显示”和“隐藏”值更改为使用Angular Translate的翻译过滤器?我尝试了不同的方法但是语法错误无效。谢谢!

javascript angularjs angular-translate
4个回答
11
投票

我想如果你将ternary operator包装成(),它会起作用。

<button> {{ ( conditionValue ? 'Show' : 'Hide' ) | translate }} </button>

1
投票

你可以试试这个:

在这里,当您选择西班牙语时,我在线和离线使用用户名,用户在线状态将根据三元条件变为西班牙语。

https://plnkr.co/edit/o16dpI?p=preview

[https://plnkr.co/edit/o16dpI?p=preview][1]

{{ ( userName ? 'Show' : 'Hide' ) | translate }}

0
投票

我刚刚想出了解决方案!对于三元运算符,我们必须使用'translate'指令而不是filter。它工作得很好:

{
  "show_value": "Show",
  "hide_value": "Hide",
}

<button translate> {{ conditionValue ? "show_value" : "hide_value" }} </button>

0
投票

如果存在前缀

{{ ('massmedias.' + (ctrl.actionType === 'add' ? 'add' : 'rename')) | translate }}
© www.soinside.com 2019 - 2024. All rights reserved.