Css 取反类型错误

Css negation giving type error

在我的模型中我有

self.isAssetForTradingEnabled = false;

当我尝试绑定它以添加这样的样式时:

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

然后Knockout给出类型错误。

如果我改变它就有效

isAssetForTradingEnabled = true;

'disabled': isAssetForTradingEnabled

如果你有这个...

self.isAssetForTradingEnabled = false;

...你不应该这样做...

'disabled': !isAssetForTradingEnabled()

...因为 isAssetForTradingEnabled 不是一个(可观察的)函数。相反,要么这样做...

'disabled': !isAssetForTradingEnabled

...或将您的视图模型更改为此...

self.isAssetForTradingEnabled = ko.observable(false);

请注意,如果您希望视图响应 isAssetForTradingEnabled 中的更改,则需要后者,因为不会跟踪普通(不可观察的)成员。