Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 添加阻力&;使用jQuery/UI将TODO拖放到主干_Backbone.js_Drag And Drop - Fatal编程技术网

Backbone.js 添加阻力&;使用jQuery/UI将TODO拖放到主干

Backbone.js 添加阻力&;使用jQuery/UI将TODO拖放到主干,backbone.js,drag-and-drop,Backbone.js,Drag And Drop,我对backbone.js完全是新手,刚刚开始钻研臭名昭著的“todos”应用程序来感受它。我注意到它包含了一个很好的拖放功能,而实际上没有。localtodos拖放是用Mootools实现的,但是我希望改用jQuery和jQuery UI 我遇到了一个问题,但是当我尝试它时,数据id属性出现了问题。添加: <%= id ? 'data-id="'+id+'"' : '' %> 如果我删除了数据id属性代码,那么我可以再次输入todo项,但当我刷新页面时,它们的顺序不会被保存(显然

我对backbone.js完全是新手,刚刚开始钻研臭名昭著的“todos”应用程序来感受它。我注意到它包含了一个很好的拖放功能,而实际上没有。localtodos拖放是用Mootools实现的,但是我希望改用jQuery和jQuery UI

我遇到了一个问题,但是当我尝试它时,数据id属性出现了问题。添加:

<%= id ? 'data-id="'+id+'"' : '' %>
如果我删除了数据id属性代码,那么我可以再次输入todo项,但当我刷新页面时,它们的顺序不会被保存(显然)


我就是搞不清楚数据id属性有什么问题。我正在使用的一个更完整的代码示例如下。

要点是否包含您的代码?它似乎有视图、backbone.js代码和样式。请将视图代码添加到您的问题中。您使用
Backbone.view.extend创建的视图
您是否已完成此操作。它完全符合您的要求,抱歉,我复制了错误的js文件。我现在已经用todos.js文件内容更新了要点。BB视图在那里。是的,我也看了一下要点,甚至试着直接复制粘贴,但我得到了同样的结果。这就是我有点困惑的地方。我不确定这是JSFIDLE中的细微差别还是我的依赖项/加载顺序/等等?我已经检查了所有正在加载的文件,并且我认为是正确的顺序。它很可能是一些小东西;您不能复制并粘贴所提到的JSFIDLE到单独的html文件中,并在没有任何额外内容的情况下尝试它。如果工作正常,那么在完全复制了所有内容(包括依赖项)之后,您的部件或代码出现了错误,那么问题似乎出在backbone.js上。fiddle中链接的版本是0.5.3-这很好。如果将主干更新为最新版本(0.9.2),则在尝试添加新项时会发生错误。具体来说,错误是:“未捕获引用错误:未定义id”。有什么想法会从根本上改变主干在那个时候造成的错误?
this.$("#todo-list").sortable({
    update: function(event, ui) {
        $('div.todo',this).each(function(i) {
            var id = $(this).attr('data-id'),
                todo = Todos.get(id);
            todo.save({order: i + 1});
        });
    }
});