knockout.js虚拟模板绑定

时间:2014-04-23 16:02:36

标签: javascript jquery jquery-ui jquery-mobile knockout.js

我正在尝试使用knockout.js和jquery-mobile-ui collapsible-set的组合来实现树结构。由于树可能非常大,我使用'if'绑定来阻止树节点扩展之前的数据处理。当树节点被扩展时我想使用虚拟敲除绑定,使用普通绑定在jquery-mobile-ui中产生副作用。当我展开节点时,我可以看到

<!-- 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中是否支持虚拟模板绑定,如果它是我做错了什么?如何调试当前情况的任何帮助或想法将非常感激。

1 个答案:

答案 0 :(得分:15)

跳过虚拟元素中的data-bind =,只需执行

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

阅读有关调试的快速提示:http://www.knockmeout.net/2013/06/knockout-debugging-strategies-plugin.html