2015-06-12 3 views
0

В моей модели у меня естьCss отрицания даяние ошибка типа

self.isAssetForTradingEnabled = false; 

и когда я пытаюсь связать его, чтобы добавить некоторый стиль, как это:

<tr data-bind="css: { 'selected': quantity() > 0 , 'disabled': !isAssetForTradingEnabled() }"> 

Тогда Нокаут дает ошибку типа.

Это работает, если я изменю

isAssetForTradingEnabled = true; 

и

'disabled': isAssetForTradingEnabled 
+1

попробовать это ' 'инвалидов': isAssetForTradingEnabled'. Насколько я вижу, его не видно, поэтому вы не можете использовать '()' –

ответ

4

Если у вас есть это ...

self.isAssetForTradingEnabled = false; 

... вы не должны делать это ...

'disabled': !isAssetForTradingEnabled() 

... потому что isAssetForTradingEnabled не является (наблюдаемой) функцией. Вместо того, чтобы либо сделать это ...

'disabled': !isAssetForTradingEnabled 

... или изменить модель представления на это ...

self.isAssetForTradingEnabled = ko.observable(false); 

Обратите внимание, что вам нужно последнее, если вы хотите, чтобы вид реагировать на изменения isAssetForTradingEnabled, поскольку простые (не наблюдаемые) элементы не отслеживаются.

Смежные вопросы