添加/更改模型后重新影响和渲染集合
Re-fecthing and Rendering Collection After Adding/Changing Model
我有一个"索引"视图和一个附带的"分页"视图。初始化时,索引视图获取相关集合。最初提取的集合限制为100个模型,并包含集合中所有值的计数。计数被传递给分页视图,它相应地生成页码。在第10页(10条记录/页)之后,接下来的100个模型将被提取,依此类推,模式将继续。
记住前面提到的,当我将一个或多个模型添加到集合中时,需要从服务器重新获取模型计数(这样可以重新计算页面),即使我这样做了:
@collection.add [new_model]
但是,如果更改模型中的值,我只希望重新渲染集合。
使用以下初始化代码,我可以在更改后重新呈现集合。但在"添加"的情况下,什么也不会发生。如何构造视图以从服务器重新获取新的集合和计数?
注意:我使用的是fetch(add: true)
initialize: ->
@collection = new MyApp.MyCollection()
@collection.on('add', @render, @)
@collection.on('change', @render, @)
@collection.fetch(add: true)
要澄清事件逻辑:
- 重置:将在从服务器获取后触发。fetch将删除集合的所有内容,并仅在集合中插入来自服务器的所有内容
- 添加:将在模型添加到集合后触发注意:除非使用add:TTrue选项,否则提取不会触发添加
- 更改:将在模型的内容/字段发生更改后触发注意:获取或添加模型都不会触发更改
因此,这些事件几乎不重叠,但都为特定的用例服务。在将事件绑定到方法(尤其是渲染方法)时,请记住这一点。
相关文章:
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- Meteor-将选定窗体中的对象添加到集合中
- 主干集合重置和解析
- 使用数据上的角度更改设置集合的第一个元素的动画
- 为集合分配大量的模型弹药
- 如何使用backbone.js从集合中获取模型名称
- 鼠标悬停事件影响列表中所有行中的按钮,而不仅仅是特定按钮
- 在同一个服务工作者中处理service-worker.js有任何影响吗
- Lodash从集合创建集合
- jQuery工具验证器自定义效果-添加&消除影响
- 2个backbone.js集合,具有相同的模型,但排序顺序不同
- 如何在不影响其他元素的情况下扩展DIV
- 如何合并不同集合的游标并按日期排序
- 将当前用户的 ID 推送到 meteorjs 中集合/文档的内部数组
- 使用它更新集合中的嵌套数组's索引
- 主干-从模板中迭代的集合中获取特定的模型
- 添加/更改模型后重新影响和渲染集合
- 主干集合获取选项不影响GET请求
- 悬停只影响嵌套集合中的单个元素
- backbone.js:视图中影响集合中不同模型的按钮