在这个例子中,我还有两个我想要添加到DIV的css类。
<div data-bind="foreach: [{name: 'Hello', size:'Triple'}]">
<div class="tile"
data-bind="css: {'tile-selected': true, $data.size : true}">
</div>
</div>
第一个是基于布尔值的'tile-selected'。这很有效。
第二个实际上是一个类'Triple'的名称,(在这个例子中,总是添加它,即'True')
我收到错误:
未捕获错误:无法解析绑定。 消息:SyntaxError:意外的令牌。 绑定值:css:{'tile-selected':true,$ data.size:true}
我假设我不能使用$ data.size部分从'size'属性中提取'Triple'文字。有没有办法可以做到这一点? ($ data ['size']似乎也不起作用)
答案 0 :(得分:1)
您不能将ko observables或属性用作类名。相反,你必须为此创建一个单独的属性,并使用相同的动态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