我第一次尝试淘汰赛,并完成了基础教程并查看了各种示例。
但是trying it myself(jsFiddle)并不常用。
我想要做的就是在点击&#34时将等级open
添加到div中;点击我"文本。
我在这里缺少什么?
//HTML
<div class="clickMe" data-bind="click: expand">Click me</div>
<div class="wrapper">
<div class="content" data-bind="css: {expandMenu : open}">
This is a test
</div>
</div>
//JS
function viewModel() {
var self = this;
self.expandMenu = ko.observable(false);
self.expand = function () {
self.expandMenu(!self.expandMenu());
};
};
ko.applyBindings(new viewModel());
// CSS
.content {display: none;}
.content.open {display: block;}
答案 0 :(得分:3)
使用css绑定中的observable修复此开关类名称:
data-bind="css: {open : expandMenu}"
另外,你可以使用css绑定这样的格式:
data-bind="css: getClassForSomething()" // getClassForSomething must return css class (string)
和
data-bind="css: { open: isSomethingDone() }" // considering that isSomethingDone is viewmodel's method