javascript - Backbone.js - 按顺序插入新 View 项

标签 javascript view backbone.js

我使用的代码与 Backbone ToDo 示例非常相似 - http://documentcloud.github.com/backbone/docs/todos.html .

将新模型插入集合后,我对集合进行排序。 todo 示例将新数据附加到 View 的末尾

  var view = new TodoView({model: todo});
  $("#todo-list").append(view.render().el);

我想根据它在集合中的位置将我的模型数据插入到 View 中,而不仅仅是最后一个位置。知道如何做到这一点吗?

最佳答案

首先获取集合中新增模型的索引(排序后)。您可以使用下划线方法 indexOf 获取它,即 index = todoColl.indexOf(todo);

然后使用 :eq() jQuery 选择器获取当前位于列表中此位置的项目,然后 .before() 您的新项目,即 $("li:eq("+ index.toString( ) + ")").before(view.render().el); (假设 View 呈现 li 元素)。小心,如果新项目是最后一个,请添加代码来管理大小写(在这种情况下,jQuery 选择器将为空)。

关于javascript - Backbone.js - 按顺序插入新 View 项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9242074/

相关文章:

javascript - AngularJS - 如何在多个实例中限制 ngClick 的范围

javascript - TypeScript 正在添加 Object.defineProperty(exports, "__esModule", { value : true }); throwing an error

javascript - 为什么我的 ajax post 功能不能与按钮单击一起使用?

android - 如何在 Android ScrollEvent 上有选择地重绘 View ?

javascript - 是否可以将 Closure Compiler ADVANCED_OPTIMIZATIONS 与 jQuery 一起使用?

view - 当我保存文件时,为什么Visual Studio Code会格式化我的文件?

ios - 将 touchesMoved 保持在 View Controller 的范围内

javascript - Backbone.js 中的模型

javascript - Backbone.js:执行 Fetch() 后,仅渲染新模型

javascript - 没有数据存储的主干