Угловые троичные операторы

Я пытаюсь использовать троичный оператор для настройки части моего шаблона:

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>
Другие вопросы по тегам