Html 剔除可见属性数据绑定

Html 剔除可见属性数据绑定,html,data-binding,knockout.js,Html,Data Binding,Knockout.js,不确定这是怎么回事,但visible属性在使用foreach时似乎不起作用 此操作有效(仅显示测试2): 测试1 测试2 这不起作用(同时显示): //布尔值=makeFalse为false,makeTrue为true <tbody data-bind="foreach: people"> <tr> <td data-bind="text: $data.firstName"></td> <td d

不确定这是怎么回事,但visible属性在使用foreach时似乎不起作用

此操作有效(仅显示测试2):


测试1
测试2

这不起作用(同时显示): //布尔值=makeFalse为false,makeTrue为true

<tbody data-bind="foreach: people">
    <tr>
        <td data-bind="text: $data.firstName"></td>
        <td data-bind="text: $data.lastName"></td>
         <td>
        <div data-bind="visible: $data.makeFalse">
           Testing 1
        </div>
         <div data-bind="visible: $data.makeTrue">
           Testing 2
        </div>
         </td>
    </tr>

测试1
测试2


有什么办法让它工作吗?

我记得我被这样的事情卡住了。尝试使用()



您可以在JSFIDLE中复制或提供js代码的示例。如果makeFalse和makeTrue是存在于
人员
数组中的项上的属性或可观察项,那么这应该可以工作。@RPNiemeyer我无法在JSFIDLE中重现该问题。它在那里工作得很好。至于makeTrue和makeFalse,它们在arr中被称为与名字和姓氏相同,但作为bool,例如{firstName:'someFirstName',lastName:'someNames',makeFalse:false,makeTrue:true},尝试的一件事是将类似于
的单元格放在一行中。这将显示
$data
的外观。您可以验证
makeFalse
makeTrue
是否准确。
<tbody data-bind="foreach: people">
    <tr>
        <td data-bind="text: $data.firstName"></td>
        <td data-bind="text: $data.lastName"></td>
         <td>
        <div data-bind="visible: $data.makeFalse">
           Testing 1
        </div>
         <div data-bind="visible: $data.makeTrue">
           Testing 2
        </div>
         </td>
    </tr>
<div data-bind="visible: $data.makeFalse()"></div>
<div data-bind="visible: $data.makeTrue()"></div>