我从rniemeyer修改了一个JSFiddle以说明问题:http://jsfiddle.net/mTqMt/1/
<div class="container" data-bind="sortable: groupOrItems">
<!--ko if: type=='Group'-->
<div>
<div class="title" data-bind="text: name()"></div>
<!--here I would actually have a nested sortable-->
</div>
<!--/ko-->
<!--ko if: type=='Item'-->
<div class="item" data-bind="text: name()"></div>
<!--/ko-->
</div>
Firebug说:“类型错误:节点为空”在knockout-latest.debug.js中的第546行
我用“foreach”代替“sortable”尝试了它,然后它起作用了。
有什么想法吗?
答案 0 :(得分:3)
可排序的绑定和jQuery UI可排序确实需要一个父元素来抓取你正在排序的东西。
您希望至少将整个“项目”包装在以下元素中:
<div class="container" data-bind="sortable: groupOrItems">
<div>
<!--ko if: type=='Group'-->
<div>
<div class="title" data-bind="text: name()"></div>
<!--here I would actually have a nested sortable-->
</div>
<!--/ko-->
<!--ko if: type=='Item'-->
<div class="item" data-bind="text: name()"></div>
<!--/ko-->
</div>
</div>