Примечание: под "рулями" я не имею в виду Handlebars.js, я имею в виду двойные фигурные скобки.
У меня есть таблица, и в одном из столбцов я хочу отобразить данные и дополнительный элемент HTML в зависимости от результата тройной операции.
Вот мой код для td
<td>{{item.ProjectNumber}}{{item.DateSubmitted.toString().length > 0 ? null : <span class="error">Incomplete</span>}}</td>
Если я не пытаюсь сделать его элементом (а просто отображать "Неполное"), он отлично работает. Но когда я пытаюсь добавить этот диапазон, весь фрагмент кода добавляется в td.
Итак, как я могу создать HTML-элемент внутри рулей?
Просто создайте элемент и, возможно, спрячьте его с помощью ng-show.
<span class="error" ng-show="item.DateSubmitted.toString()">Incomplete</span>
Обычно я резервирую использование фигурных скобок для предоставления данных, а не принятия решений. Если вам абсолютно необходимо создать элемент inline, как это, вам нужно сообщить своему приложению, чтобы он доверял HTML, как описано в этом вопросе SE.
Хорошо, поэтому я придумал другой способ сделать это.
<td>{{factsheet.ProjectNumber}}<span class="{{factsheet.DateSubmitted.toString().length > 0 ? 'hide-error' : 'error'}}">Incomplete</span></td>
Я просто сделал span и поместил тернарную логику в атрибут класса, где .hide-error
класс .hide-error
display:none