Css否定给出类型错误

时间:2015-06-12 09:50:32

标签: knockout.js knockout-2.0

在我的模特中我有

self.isAssetForTradingEnabled = false;

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

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

然后Knockout会出现类型错误。

如果我改变

,它会起作用
isAssetForTradingEnabled = true;

'disabled': isAssetForTradingEnabled

1 个答案:

答案 0 :(得分:4)

如果你有这个......

storm.zookeeper.servers: 
- "127.0.0.1"
storm.local.dir: "/mnt/storm"
nimbus.host: "127.0.0.1"
supervisor.slots.ports: 
- 6700

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

self.isAssetForTradingEnabled = false;

...因为'disabled': !isAssetForTradingEnabled() 不是(n可观察的)函数。相反,要么这样做......

isAssetForTradingEnabled

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

'disabled': !isAssetForTradingEnabled

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