Backbone.js 谁应该在主干应用程序中获取模型?
在主干应用程序中,获取模型的最佳实践是什么?我可以看到以下可能性Backbone.js 谁应该在主干应用程序中获取模型?,backbone.js,backbone-views,Backbone.js,Backbone Views,在主干应用程序中,获取模型的最佳实践是什么?我可以看到以下可能性 视图调用模型获取方法 其他一些JavaScript代码调用获取模型?如果是的话,这个代码什么时候会有什么结构?这是主干网中缺少的控制器概念吗 一些最佳实践: 1从应用程序生命周期的最初几毫秒开始需要的集合和模型应该“引导”到位(因此不需要获取它们来访问重要数据) 因此,当从服务器向用户提供正确的页面时,模型和集合应该已经就位() var ExampleCollection=new Backbone.Collection(); E
- 视图调用模型获取方法
- 其他一些JavaScript代码调用获取模型?如果是的话,这个代码什么时候会有什么结构?这是主干网中缺少的控制器概念吗
- 一些最佳实践:
1从应用程序生命周期的最初几毫秒开始需要的集合和模型应该“引导”到位(因此不需要获取它们来访问重要数据)
因此,当从服务器向用户提供正确的页面时,模型和集合应该已经就位()
var ExampleCollection=new Backbone.Collection();
ExampleCollection.reset();//或者,无论服务器端语言要求您做什么,这都是一个ruby示例
其余的可以及时取回
在你的应用程序初始化时不需要的模型和集合可以随时提取,但我认为这样做的合理时机是当用户表示有意使用这些模型时。例如,用户按下按钮打开需要某些模型/集合的视图->获取该集合,用户希望清除模型中未保存的更改->从服务器获取该模型以获取模型的上次保存状态,等等。通常,抓取必然发生的地方是“拥有”模型/集合的视图,因为它将用户的操作传递给模型,并向用户显示模型的状态
但正如前面所说,Backbone.js对何时获取模型或集合并不严格。它可以在应用程序中的任何位置完成,只需确保只有在必要时才执行即可
希望这有帮助 如果希望成为标准视图,则视图必须在初始化时渲染一次,并侦听模型的更改事件,然后在每次模型更改时重新渲染视图,仅此而已。(关于获取完成后View需要做什么) 对于调用model.fetch(),如果您遵循我说过的标准,那么无论在哪里调用fetch,您的视图都将被更新 有些人可能在视图中有一个名为load的模块,可以执行以下操作:
load : function(){
this.model.fetch();
}
var myModel = new YourModel();
var myView = new SomeView( {model : model} );
//Probably you could render with the default data in the while model is fetched
myView.render();
model.fetch();
其他人可以执行外部提取调用,如下所示:
load : function(){
this.model.fetch();
}
var myModel = new YourModel();
var myView = new SomeView( {model : model} );
//Probably you could render with the default data in the while model is fetched
myView.render();
model.fetch();