如果用户已添加书签或共享以下 URL,我的单页骨干.js 应用程序(使用 Backbone.Router)应如何检索所需数据以呈现完整视图?
http://mydomain.example.com/menus#/menus/99/items/33/ingredients
如果用户为http://mydomain.example.com/menus添加了书签,我可以轻松地引导第一页菜单。
# Inline before </body>, in a <script> block
Menus.reset(<%= @menus.to_json %>);
但是在我上面提到的情况下,需要 3 层引导,但由于这是#hashtag 导航,服务器不知道引导菜单、:menu_id 的菜单、项目、:item_id 的项目和第一页的成分。
# It would look like the following on a real page
# http://mydomain.example.com/menus/99/items/33/ingredients
# please see past the invalid syntax
Menus.reset(<%= @menus.to_json %>);
var menu = Menus.get(99);
menu.items.reset(<%= @menus.find(99).items.find(:all).to_json %>);
var item = Menus.items.get(33);
item.ingredients.reset(<%= @menus.find(99).items.find(33).ingredients.find(:all).to_json %>);
是否有其他人用来完成此任务的模式?你能理解这个吗?
我强烈希望创建一个引导控制器,其唯一目的是获取绘制任何页面所需的所有模型和集合。/bootstrap?path=/menus/99/items/33/ingredients 然后让它返回一些 jsonp 到调用者页面http://mydomain.example.com/menus#/menus/99/items/33/ingredients。
提前致谢。