繁体   English   中英

如何使用Knockout JS添加课程?

[英]How can I add a class using Knockout JS?

我是第一次尝试淘汰赛,并通过了基础教程并查看了各种示例。

但是我自己尝试 (jsFiddle)并不能正常工作。

我要做的就是在单击“单击我”文本时将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;}    

要在CSS绑定中使用可观察的方式来固定此开关类名称:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM