Backbone.js - 按顺序插入新的视图项
Posted
技术标签:
【中文标题】Backbone.js - 按顺序插入新的视图项【英文标题】:Backbone.js - Insert new view item in order 【发布时间】:2012-02-11 16:58:31 【问题描述】:我使用的代码与 Backbone ToDo 示例非常相似 - http://documentcloud.github.com/backbone/docs/todos.html。
在将新模型插入集合后,我对集合进行排序。 todo 示例将新数据追加到视图的末尾
var view = new TodoView(model: todo);
$("#todo-list").append(view.render().el);
我想根据模型数据在集合中的位置将模型数据插入到视图中,而不仅仅是最后一个位置。知道怎么做吗?
【问题讨论】:
【参考方案1】:首先获取集合中新增模型的索引(排序后)。您可以使用下划线方法indexOf
即index = todoColl.indexOf(todo);
来获取它。
然后使用 :eq() jQuery 选择器获取当前在列表中此位置的项目,并 .before() 您的新项目,即$("li:eq(" + index.toString() + ")").before(view.render().el);
(假设视图呈现 li 元素)。小心,如果新项目是最后一个,请添加代码来管理案例(在这种情况下,jQuery 选择器将为空)。
【讨论】:
谢谢,我的是一张桌子,所以我只需将li
更改为tr
就可以完美运行。再次感谢。以上是关于Backbone.js - 按顺序插入新的视图项的主要内容,如果未能解决你的问题,请参考以下文章
寻找有关在Backbone.js中使用Parceljs的建议