Knockout.js嵌套可排序绑定

Knockout.js嵌套可排序绑定,knockout.js,knockout-sortable,Knockout.js,Knockout Sortable,我正在使用knockout.js可排序插件;然而,我遇到了一个至今无法解决的问题。我有两个可排序的绑定,一个用于bucket,另一个用于bucketitem。我能够在桶之间重新订购Bucketitem;但是,我无法重新订购桶。你知道为什么会这样吗?我也在使用嵌套绑定,但据我所知,这并不是导致问题的原因 如果您能提供任何见解,我将不胜感激。我不知道您的确切结构,但您可以使用connectClass选项来控制连接哪些可排序列表。例如,如果您这样做: <ul data-bind="sortabl

我正在使用knockout.js可排序插件;然而,我遇到了一个至今无法解决的问题。我有两个可排序的绑定,一个用于bucket,另一个用于bucketitem。我能够在桶之间重新订购Bucketitem;但是,我无法重新订购桶。你知道为什么会这样吗?我也在使用嵌套绑定,但据我所知,这并不是导致问题的原因


如果您能提供任何见解,我将不胜感激。

我不知道您的确切结构,但您可以使用
connectClass
选项来控制连接哪些可排序列表。例如,如果您这样做:

<ul data-bind="sortable: { data: buckets, connectClass: 'buckets' }">
    <li>
        <span data-bind="text: name"></span>
        <ul data-bind="sortable: { data: items, connectClass: 'items' }">
            <li data-bind="text: name"></li>
        </ul>
    </li>
</ul>
您只能在bucket中放入bucket,在items中放入item。插件会自动将类添加到父元素中

以下是一个示例:

如果您不想在存储桶之间对项目进行排序,则可以对每个类似项应用唯一的
connectClass


由于某些原因,请发布您的代码和您正在使用的插件,我无法发布我的代码;然而,我能够缩小我的问题范围。我有一个bucketid数组,当我对其应用sortable时,它不能正确绑定。不幸的是,我仍然不知道为什么它不能绑定。(我正在使用ryan neimeyer创建的knockout.js-sortable插件)当您不希望某个项目可排序,但希望其他项目可排序时,如何使其工作?我试着使用这个,虽然这个项目是不可重排序的,但当我尝试时,整个父UL都移动了,这反过来又使UL的父LI被重排序(这很奇怪)。@Phil-你可以把你想做的事和一些注释放在JSFIDLE中吗?可能有一种方法可以让它发挥作用,但我不确定我是否掌握了你的情况。谢谢我添加了一个提琴:当我尝试移动不可移动的项目时,整个项目被选中。试着在不可移动的容器上按住鼠标,注意整个容器都在移动。有没有办法阻止这个问题?您可以这样做:在元素上处理mousedown并防止它冒泡。@niemeyer,我在浏览器控制台上遇到这个异常您的jQuery.tmpl版本太旧了。请升级到jQuery.tmpl 1.0.0pre或更高版本。你能帮我吗??我正在使用Knockout-3.1.0.js和Knockout-sortable.js(由tou编写)