Я знаю, что в нокауте есть возможность указать класс из наблюдаемого свойства, например:
<div data-bind="css: Color " >
Нокаут также предоставляет возможность указывать условный рендеринг класса следующим образом:
<div data-bind="css: { 'my-class' : SomeBooleanProperty }" >
Но какая разметка должна быть указана, если мне нужны эти функции связывания cock knockout?
Я пробовал это, но не повезло:
<div data-bind="css: { Color, 'my-class' : SomeBooleanProperty }" >
У меня есть ошибка:
Ошибка: невозможно выполнить синтаксический анализ привязок. SyntaxError: Неожиданный токен,;
Я не нашел никакого примера в google или в официальных документах.
UPDATE
Я нашел обходное решение: создайте строку стиля в коде и поместите ее в свойство, например:
item.AdditionalCss(Color() + " " + (result.IsSortable() ? 'my-class' : null));
И укажите этот класс в html:
data-bind="css: AdditionalCss "
Но я немного озадачен, я думаю, что это грязный подход. Я думаю, было бы лучше добиться того же результата в разметке. Как это можно сделать с помощью разметки?