Joe*_*Joe 5 javascript backbone.js
当我的页面打开时,我调用该集合并填充视图:
var pagColl = new pgCollection(e.models);
var pagView = new pgView({collection: pagColl});
Run Code Online (Sandbox Code Playgroud)
另外(通过Datepicker),我希望用不同的模型填充相同的集合并再次实例化视图.
我遇到的问题是如何在我打开新原件之前关闭原件pagView
并清空pagColl
,因为这个"鬼视图"给我带来了问题.上面提到的变量是局部变量?难道是我需要建立一个全球性的 pagColl
和reset()
这个?
San*_*der 13
实际上有很多关于这个话题的讨论,骨干对你没有任何帮助,你必须自己做,这是你需要照顾的:
删除视图(此委托给jQuery,jquery将其从DOM中删除)
// to be called from inside your view... otherwise its `view.remove();`
this.remove();
Run Code Online (Sandbox Code Playgroud)
这将从DOM中删除视图并删除绑定到它的所有DOM事件.
删除所有骨干事件
// to be called from inside the view... otherwise it's `view.unbind();`
this.unbind();
Run Code Online (Sandbox Code Playgroud)
如果视图中有某个事件(按钮)委托给调用的函数,则会删除绑定到视图的所有事件 this.trigger('myCustomEvent', params);
如果你想了解如何实现一个系统,我建议你阅读Derrick Bailey关于僵尸视图的博文:http://lostechies.com/derickbailey/2011/09/15/zombies-run-managing-page-transitions- in-backbone-apps /.
另外一个选项
另一个选择是重用当前视图,并让它重新渲染或追加视图中的某些项目,绑定到集合的reset
事件
归档时间: |
|
查看次数: |
27475 次 |
最近记录: |