如何初始化backbone.js中的页面,以最大限度地减lessHTTP请求和延迟
我正在学习骨干,从这些例子和教程中我得到了这样的印象:
- 最初的
GET /
返回骨干页面和视图模板。 - Backbone使用
REST API
通过GET
需要的数据并将其添加到DOM中充实页面。
这样做很有效,但是对于额外的HTTP请求,以及从最终用户的angular度来看,这似乎是浪费(在页面可见之前至less两次往返,实际上是三次,因为API必须首先询问哪些小部件可用的,然后获取任何可用的小部件的细节….)。
有没有一个确定的,标准的方法来解决这个问题? 我目前的候选人是:
- 忽略问题。
- 将初始化数据通过embedded式JavaScript直接embedded到原始页面中。
- 像骨干不存在一样渲染页面。 当中枢完成初始化时,它将(希望)与用户看到的页面同步。 它可以纠正任何需要的东西,如果事情在几秒钟内改变了,但至less用户不会被挂起。
- 我还没有想到的另一个解决scheme?
有没有一个确定的方法来做到这一点? 这是特定情况吗? 我正在使用Node / JS / Express。
更新:我想我在Backbone的文档中find了一个解决scheme,可能是“接受”的解决scheme:
下面是一个使用重置在初始页面加载期间在Rails应用程序中引导集合的示例。
<script> var Accounts = new Backbone.Collection; Accounts.reset(<%= @accounts.to_json %>); </script>
调用
collection.reset()
而不传递任何模型作为参数将清空整个集合。