淘汰赛:如何隐藏已经应用了“with”的淘汰赛绑定

时间:2013-04-11 09:15:41

标签: knockout.js

我有一张桌子。我在with binding元素上应用了<tr>,并且还希望对其应用visible属性。

html:

<table>
    <tr data-bind="with: names">
        <td>
            First Name:
            <span data-bind="text: first" />       
        </td>
    </tr> 
</table>

JS:

var ViewModel = function() {
     this.names = {
            first:  "John",
            isVisible: false
     };
   };

   ko.applyBindings(new ViewModel());

我想写一些类似<tr data-bind="with: names, visible: isVisible">的东西,但是淘汰不允许这种语法。

隐藏像<td>这样的<td data-bind="visible: isVisible">元素不是一种选择。

jsFiddle:http://jsfiddle.net/2Qnv7/43/

任何想法?谢谢!

1 个答案:

答案 0 :(得分:2)

由于您只在tr内部有names个上下文,因此您可以在tr name.IsVisible中使用data-bind

<table>
    <tr data-bind="with: names, visible: names.isVisible">
        <td>
            First Name:
            <span data-bind="text: first" />       
        </td>
    </tr> 
</table>

小提琴:http://jsfiddle.net/2Qnv7/44/