Я привязываю событие click к каждому элементу списка в списке:
<ul class="modal-subject-list" data-bind="foreach: filteredSubjects">
<li data-bind="click: $parent.pickSubject, css: {alreadyAddedBackground: hasBeenAdded}">
<!-- Lots of code here -->
</li>
</ul>
Я хочу отключить привязку click:
, если "hasBeenAdded" разрешает true. Я знаю некоторые грязные способы позаботиться об этом:
- Есть два элемента списка: один для
if: hasBeenAdded
, а другой дляif: !hasBeenAdded
. Это далеко от DRY - Обработайте эту проверку с помощью javascript и оставите представление в одиночку. Мне это не нравится, потому что создается ненужная разметка для элементов списка, которые должны быть существенно отключены.
Есть ли способ зарегистрировать привязку "clickIf"?