2012-05-22 55 views
2

讓說我有功能,淘汰賽不要求可見

<ul data-bind="foreach: items"> 
    <li>   
     <span data-bind="text: name"></span> 
      <span data-bind="visible: $parent.checkVisiblity"></span> 
    </li> 
</ul> 

var ViewModel = function() { 
this.items = [{name: 'a'},{name: 'b'}]; 
this.checkVisiblity = function(item) { 
    console.log(item) 
    return item.name === 'a'; 
    } 
}; 

ko.applyBindings(新視圖模型());

爲什麼函數checkVisiblity不被knockout調用?如何調用這個。

http://jsfiddle.net/cPVGg/1/

+0

同時請checkVisibility'的'拼寫。你在'ViewModel'定義中拼錯了它。 –

回答

4

更改visible結合:

<span data-bind="visible: $parent.checkVisibility($data)"></span> 
+0

http://jsfiddle.net/cPVGg/2/無法解析綁定。消息:TypeError:$ parent.checkVisibility不是一個函數;綁定值:可見:$ parent.checkVisibility(this) – user960567

+0

只需在控制檯中檢查。順便說一句,我得到了你的幫助解決方案,可見:$ parent.checkVisiblity($ data)。請更新您的答案 – user960567

+0

請用$ data和this進行測試並查看結果。 – user960567