2016-02-11 3 views
5

Я использую выражение if/else и перевод возможных значений внутри метки-заполнителя элемента ввода HTML. Это, очевидно, не работает таким образом, из-за вложенные в двойных кавычках внутри шаблонного тега:Как объединить выражение if/else с угловым переводом внутри атрибута?

<input type="number" 
     placeholder="{{constraint ? '{{"TERM_A" | translate}}' : '{{"TERM_B" | translate}}'}}" 
     ng-model="" 
     required 
     autocapitalize="none" 
     autocorrect="off" /> 

Как установить одинарные/двойные кавычки, соответственно, или есть еще более элегантное решение?

+12

Я не уверен, но вы можете попробовать '{{(ограничение?" TERM_A ":" TERM_B ") | translate}} ' – floribon

+0

Да, это работает: ' placeholder = "{{(constraint? 'TERM_A': 'TERM_B')} translate}}", спасибо! – Felix

ответ

0

Правильный путь:

<input type="number" 
       placeholder="{{ (constraint ? 'TERM_A' : 'TERM_B') | translate }}" 
       ng-model="" 
       required 
       autocapitalize="none" 
       autocorrect="off" /> 

Другой пример:

  label="{{ (detailsTriggered ? 'ui.showDetails' : 'ui.hideDetails') | translate}}" 

Остерегайтесь "[]" скобки, типы кавычек и апострофов.