【发布时间】:2011-05-05 09:22:53
【问题描述】:
我正在编写一个 BackboneJS 应用程序,其中六个选项卡中的每一个都由它们自己的视图表示。每当用户点击他已经去过的标签时,我是否应该保存视图实例并调用它的render() 函数?或者创建一个新实例并访问 jQuery 在第一次渲染期间为我缓存的模板?
如果我做后者,我仍然需要确保没有通过我的 JSON API 获取另一个集合,因为这是在某些视图的初始化期间完成的。
现在我将所有视图实例存储在我的控制器中,但我想知道这是以某种方式内置的还是有更好的选择。
干杯。
更新:这是我在控制器中使用的 loadCachedView 函数:
loadCachedView: function (name, view, collection){
if (!this.views[name]){
if (collection){
this.collections[name] = new collection();
}
this.views[name] = new view({collection: this.collections[name]});
} else {
this.views[name].render();
}
},
所以在渲染视图的时候,我就去:this.loadCachedView('settings', SettingsView, SettingsCollcetion)。
【问题讨论】:
标签: javascript model-view-controller backbone.js