Backbone.js 添加阻力&;使用jQuery/UI将TODO拖放到主干
我对backbone.js完全是新手,刚刚开始钻研臭名昭著的“todos”应用程序来感受它。我注意到它包含了一个很好的拖放功能,而实际上没有。localtodos拖放是用Mootools实现的,但是我希望改用jQuery和jQuery UI 我遇到了一个问题,但是当我尝试它时,数据id属性出现了问题。添加: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项,但当我刷新页面时,它们的顺序不会被保存(显然
<%= 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});
});
}
});