2014-04-23 95 views
1

我想實現使用knockout.js和jquery-mobile-ui collapsible-set組合的樹結構。由於樹可能很大,因此我在使用'if'綁定來阻止樹節點展開之前的數據處理。當樹節點展開時,我想使用虛擬敲除綁定,使用正常綁定在jquery-mobile-ui中產生副作用。當我展開節點時,我可以看到knockout.js虛擬模板綁定

<!-- ko data-bind= template: { name: 'treeTemplate', foreach: $parent.Children } --><!-- /ko --> 

我沒有收到任何綁定錯誤,但是模板未呈現。我可以看到這個元素被調用

ko.contextFor($('.sss').contents().filter(function(){ return this.nodeType == 8;})[0]); 

它有$ parent.Children不爲空(屏幕截圖)。 enter image description here 問題:在knockout.js中是否支持虛擬模板綁定,如果這是我做錯了什麼?任何幫助或想法如何調試目前的情況將不勝感激。

回答

13

跳過data-bind =在虛擬元素,只是做

<!-- ko template: { name: 'treeTemplate', foreach: $parent.Children } --><!-- /ko --> 

只是一個快速提示有關調試讀了:http://www.knockmeout.net/2013/06/knockout-debugging-strategies-plugin.html

+1

先生您獲得+1和正確的答案。謝謝。 –

+0

最好的提示,你可以從那篇文章中獲取的是'uniqueName'綁定。 –