Угловые троичные операторы
Я пытаюсь использовать троичный оператор для настройки части моего шаблона:
account.accountType === "" ? "" : "Type: " + account.accountType
Этот фрагмент кода не должен содержать метку Типа, если она пуста. Тем не менее, метка типа всегда присутствует:
Оценивает, чтобы правда: Type:
Оценивается как ложное: Type: {{ account.accountType }}
Мое желаемое поведение будет:
Оценивает, чтобы правда: ""
Оценивается как ложное: Type: {{ account.accountType }}
Это недостаток угловых троичных операторов или ошибка в моем коде? Спасибо!
1 ответ
""
это не то же самое, что null
,
Я предлагаю вам использовать null
, ""
и т. д. ведут себя как "ложные" и делают следующее:
account.accountType ? "Type: " + account.accountType : ""
или даже (благодаря густавохенке)
account.accountType && "Type: " + account.accountType
Если вы хотите условно включить HTML в ваше представление, лучше всего использовать что-то вроде ng-if
:
<span ng-if="account.accountType" class=".....">Type: {{ account.accountType }}</span>