2013-07-10 54 views
0

不知道這是怎麼回事,但可見的屬性似乎並沒有使用foreach工作。淘汰賽可視屬性數據綁定

此作品(顯示測試2只):

<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: false"> 
      Testing 1 
     </div> 
     <div data-bind="visible: true"> 
      Testing 2 
     </div> 
     </td> 
    </tr> 

這不起作用(同時顯示): //布爾值= 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> 

有關如何使其工作的任何想法?

+0

您可以在jsFiddle中重現或提供您的js代碼樣本。如果makeFalse和makeTrue是屬於你的'people'數組中的項目的屬性或可觀察對象,那麼這應該起作用。 –

+0

@RPNiemeyer我無法在jsFiddle中重現問題。它在那裏完美運作。至於makeTrue和makeFalse,它們在arr中被稱爲與名字和姓氏相同,但是作爲bool E.g. {firstName:'someFirstName',lastName:'someSurname',makeFalse:false,makeTrue:true}, – Mercury

+0

要做的一件事就是將一個像「​​

」這樣的單元格放在一行中。這會吐出'$ data'的樣子。你可以驗證'makeFalse'和'makeTrue'是否準確。 –
                        
                            
                                
                            
                        
                    

回答

2

我記得在這樣的事情上卡住了。嘗試使用()。

<div data-bind="visible: $data.makeFalse()"></div> 
<div data-bind="visible: $data.makeTrue()"></div>