Как объединить выражение if/else с угловым переводом внутри атрибута?

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

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

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


person Felix    schedule 11.02.2016    source источник
comment
Я не уверен, но вы можете попробовать {{(constraint ? "TERM_A" : "TERM_B") | translate}}   -  person floribon    schedule 11.02.2016
comment
Да, это работает: placeholder="{{ (constraint ? 'TERM_A' : 'TERM_B') | translate }}", спасибо!   -  person Felix    schedule 11.02.2016


Ответы (1)


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

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

Другой образец:

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

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

person Outside_Box    schedule 20.12.2017