Я хочу установить разные атрибуты темы данных в зависимости от состояния модели\объекта. Здесь я просто устанавливаю «b» или «d» для атрибута темы данных (jQuery Mobile). Я могу заставить его работать с:
<!-- ko if: $data.id() == $parent.selectedMatchId() -->
<li data-bind="text: $data.date" data-theme="b"></li>
<!-- /ko -->
<!-- ko ifnot: $data.id() == $parent.selectedMatchId() -->
<li data-bind="text: $data.date" data-theme="d"></li>
<!-- /ko -->
что немного некрасиво. Я думал (надеялся), что смогу использовать выражение внутри связывателя атрибутов, но механизму связывания Knockout не нравится то, что я ему даю.
<li data-bind="text: $data.date,
attr: {'data-theme' : $data.id() == $parent.selectedMatchId() : 'd' ? 'b'}"></li>
Есть ли более чистый способ сделать это, чем «ко, если» и «ко, если нет», которые я использую?