我正在尝试使用Ryan Niemeyer的可排序插件获取淘汰映射插件,但我没有成功。在我的示例中,如果您尝试将项目排序到列表的中间,则它始终将其置于底部。排序到列表顶部有效,但如果您尝试将项目排序到除顶部之外的任何其他位置,它将自动转到列表的底部。
实施例: http://jsfiddle.net/thebassix/cKX53/1/
这是我的html:
<div id="results">
<h3>Tasks</h3>
<ul data-bind="sortable: series">
<li data-bind="text: Name"></li>
</ul>
</div>
答案 0 :(得分:1)
问题看起来与映射插件有关,将_destroy
属性转换为可观察对象。 Knockout核心和处理_destroy
的可排序插件中的功能期望它是一个普通的属性。
映射插件确实有copy
选项,您可以使用该选项简单地复制属性而不是创建可观察对象。但是,这似乎只适用于顶级属性,因此如果您直接传入数组,那么您可能需要设置映射选项,如:
var mappingOptions = {
create: function(options) {
return ko.mapping.fromJS(options.data, { copy: '_destroy' });
}
};