我有一点javascript:
function ViewModel() {
var self = this;
self.highlight = ko.observable(true);
}
ko.applyBindings(new ViewModel());
以及补充它的html:
<div data-bind="css: { highlighted: highlight }, click: highlight( !highlight() )">
random string
</div>
我想要达到的目标:
- 仅当 var highlight 为 true 时才激活 css 类“突出显示”
- 点击 div 将切换 var highlight 的 bool 值
- 想要的结果:单击 div 以激活/停用其 css 类
我得到了什么:
- highlight 的初始值为
true
,但 css 类开始停用(如果我将初始值更改为false
,则 css 类被激活:当我还没有点击任何东西时,似乎我以某种方式触发了点击绑定) - div 的 css 类不会在点击时切换
我宁愿不在 ViewModel 中创建新的相应点击功能。如果可能的话,我正在寻找一些我可以在数据绑定中单独放置的代码。
这是 JSFiddle 上的代码:http: //jsfiddle.net/4wt4x/1/
谁能解释发生了什么以及我做错了什么?