Knockout.js css绑定的正确语法是什么?

时间:2014-07-12 15:58:33

标签: knockout.js

我需要在同一个元素中使用很少的绑定属性,我的语法看起来很好,但VS说“:”和“}”是预期的。我的标记出了什么问题?

<div class="list-group" data-bind="foreach: histories, css: { bg-danger: $data.IsRead() == false}" id="histories">

2 个答案:

答案 0 :(得分:3)

班上的短划线要求您使用引号,例如:

css: { 'bg-danger': $data.IsRead() == false}

请参阅this fiddle

答案 1 :(得分:2)

您实际上是在绑定中定义一个对象。好像你用普通的javascript写的那样:

var css = {
    bg-danger: $data.IsRead() == false
}

现在您应该知道连字符在对象文字的名称中是不合法的,至少不是这样写的。你必须引用它。

将绑定更改为:

<div class="list-group" id="histories"
     data-bind="foreach: histories,
                css: { 'bg-danger': $data.IsRead() == false }">

P.S。,

$data.IsRead() == false

最好写成

!$data.IsRead()