淘汰 - 可排序'拖累'回调无法正常工作

时间:2015-10-27 22:30:22

标签: javascript knockout.js knockout-sortable

我正在尝试调整knockout-sortable中的示例小提琴,以便使用'dragged'回调而不是默认的'clone'函数。

http://jsfiddle.net/mp2k170t/1/

我在root视图模型中添加了'makeNewTask'方法,如下所示:

self.makeNewTask = function(task, event, ui) {
    alert('make new task');
    return new Task(task.name() + " (created by makeNewTask)");
}

我试图通过使用它来绑定它:

<div class="item" data-bind="draggable: { data: newTask, isEnabled: allowNewTask, dragged: $root.makeNewTask }">

但是,仍在调用克隆方法。我做错了什么?

1 个答案:

答案 0 :(得分:0)

dragged回调仅适用于sortable绑定。

如果您将可排序的绑定更改为

<div class="container" data-bind="sortable: {data: tasks, dragged: $root.makeNewTask}">

和可拖动的绑定

<div class="item" data-bind="draggable: { data: newTask, isEnabled: allowNewTask  }">

应该有效。使用dragged替代clone。因此,如果使用clone选项,您可以考虑从原型中删除dragged方法。

Fiddle