如何删除主干模型客户端
How to delete a backbone model client-side?
>删除模型客户端的最佳方法是什么?我不需要担心在服务器端删除它。我如何确保它在任何地方都被删除,避免每一个陷阱,每一个僵尸绑定。我正在寻找删除和销毁所有内容并确保模型被垃圾回收的指南。
谢谢!!
这实际上取决于此模型内部的内容。如果它绑定到来自其他实例的事件 - 视图/集合/模型,则应手动删除这些事件侦听器,因为无法一次删除所有事件侦听器。
此外,Model.destroy(( 从任何集合(主干文档(中删除模型:
Destroy model.destroy([选项](
。在模型上触发"销毁"事件,该事件将在包含它的任何集合中冒泡......
您可能想要做的是分配一个新的销毁方法,其中包括事件触发和要删除的内容。
destroy: function(options) {
// Any events you wish to switch off ( if you have any )
SomeCollection.off('change', this.changeFn);
Backbone.Model.prototype.destroy.apply(this, options);
}
可能您还应该了解一些从模型中减少垃圾的模式:
- 不要将初始化的模型放在变量中(将其保留在集合中(; 确保以没有
- 事件从模型绑定的方式编写代码(为此使用视图/集合(;
- 保持模型代码简单,因为应用中的模型编号最多。
我认为通过遵循这些规则,您无需太担心模型中的垃圾。
相关文章:
- 如何使用Javascript客户端对象模型检索Sharepoint 2010列表项权限
- 如何在不使用mvc 4中的模型的情况下进行客户端验证
- ASP.Net模型到Javascript-将数据从服务器传递到客户端
- 如何将复杂的模型从客户端传递到服务器
- 如何在客户端的元窗口小部件(JavaScript)中获取和显示更新的域模型
- Javascript客户端从ASP.NET MVC后端延迟加载模型
- MVC4剃刀在客户端javascript中访问我的模型中的JsonResult数据
- 客户端代码未接收已发布的模型
- 续集模型的客户端模型验证
- 如何使用 JavaScript 对象模型以编程方式将 SharePoint 客户端 Web 部件 (AppPart) 添
- 根据杜兰达尔中客户端视图模型的状态在页面视图模型中设置属性
- 如何删除主干模型客户端
- 将模型属性方法发送到客户端 Sails Angular
- 通过 THREE.js 从客户端的本地计算机加载 .obj 模型
- 为什么服务器端模型、验证等与客户端之间存在如此脱节
- 将数据库模型的整洁 JSON 数据从服务器(python)发送到客户端
- 骨干关系:销毁模型的正确方法(无http请求,仅限于客户端)
- 客户端对象模型调用context.executeQueryAsync:将项添加到列表后,在onQuerySuccesse
- 对于基于服务器的应用程序,我需要在浏览器客户端上使用MVC模型的原因是什么
- 如何使用Javascript更新MVC模型客户端