Я представляю аналогичный блок HTML для нескольких немного разных объектов. Они на 90% одинаковы, но у каждого есть определенные особенности, требующие дополнительных наблюдаемых. Я хотел бы отобразить каждый из этих наиболее похожих элементов в блоке шаблона, но у меня возникают проблемы с объектами undefined.
В принципе, я хочу проверить наличие наблюдаемого объекта перед его отображением в шаблоне.
Я пытаюсь сделать что-то вроде этого:
<div data-bind="foreach: blocks">
<h2 data-bind="text: normalHeader"><h2>
<p data-bind="text: normalText"></p>
<!-- ko if: specialText --><p data-bind="text: specialText"></p><!-- /ko -->
</div>
Поэтому, если specialText не существует (не просто не имеет значения, но вообще не существует) для этой итерации blocks
, игнорируйте условное выражение. Ошибка, которую я получаю:
Uncaught Error: Unable to parse bindings.
Message: ReferenceError: specialText is not defined;
Из того, что я понимаю о привязке "если", но должно быть выполнено, если объект возвращает любое значение типа false, например null или undefined, что означает, что привязка if должна изящно терпеть неудачу, что определенно не является "т.
Есть ли способ сделать эту работу?