1

在这个例子中,我有两个额外的 css 类要添加到 DIV 中。

    <div data-bind="foreach: [{name: 'Hello', size:'Triple'}]">
      <div class="tile"
       data-bind="css: {'tile-selected': true, $data.size : true}">
      </div>
    </div>

第一个是基于布尔值的“瓦片选择”。这很好用。

第二个实际上是“Triple”类的名称,(在此示例中,始终添加它,即“True”)

我得到错误:

未捕获的错误:无法解析绑定。消息:SyntaxError: Unexpected token .; 绑定值:css: {'tile-selected': true, $data.size : true}

我假设我不能使用 $data.size 部分从 'size' 属性中提取 'Triple' 文字。有没有办法我可以做到这一点?($data['size'] 似乎也不起作用)

4

1 回答 1

1

您不能将 ko 可观察对象或属性用作类名。相反,您必须为此创建一个单独的属性,并将其用于动态 css 绑定,如下所示。

<div data-bind="css: sizeCSS">   Profit Information</div> 

var viewModel = {
/// some view model properties here.
        };

viewModel.sizeCSS = ko.computed(function() {
    return this.size();
}, viewModel);

编辑:在这里检查动态 CSS 绑定示例:http: //knockoutjs.com/documentation/css-binding.html

于 2013-01-21T13:07:16.050 回答