敲门如果绑定

时间:2013-09-06 20:10:41

标签: data-binding knockout.js

  <tbody data-bind="foreach: observable1">
        <tr>
            <td data-bind="text: A"></td>
            <td data-bind="text: B"></td>

        </tr>
        <tr data-bind="foreach: observable2">
            <!-- ko if:C() == A() --> 
            <td data-bind="text: C"></td>
            <td data-bind="text: D"></td>
            <!-- /ko -->
        </tr>
       </tbody>

根据上面的html,我使用knockout如果绑定显示第二行。仅当列C的值与列A的值匹配时,才应显示第二行。 我无法使用observable1中的列A作为knockout抛出错误。这可能吗?

1 个答案:

答案 0 :(得分:2)

您可以使用$parent引用绑定表达式中的父上下文:

<!-- ko if:C() == $parent.A() --> 

您还可以使用$root来引用模型的根目录。有关详细信息,请参阅Binding Context上的文档。

希望这有帮助!