当一个save
, 或create
被扔向服务器时,服务器会响应一个新的随机创建的对象。该对象可以是许多不同的类之一,Backbone 响应这些不同的对象并加载一个相对视图。
我似乎只能在引导程序上弄清楚这个逻辑,因为还没有加载任何视图,所以我可以根据我从服务器随机接收到的信息,引导并导航到那个特定的路线。
但是,当我保存一个对象并接收我的返回数据时,我一直试图弄清楚如何做到这一点。
这是我的代码分解。
信息已保存。
@model.save(@model.toJSON(),
我有一个听众在等待这个保存:
constructor: (options) ->
super(options)
@model.bind 'change:verb', _.chooser, options
_.maestra_chooser 是我在实用工具带中的一个 mixin:
_.mixin
_chooser : (item) =>
console.log item
这里有一点需要注意。item
不幸的是,该变量与@model
刚刚保存的变量相同。那里没有新数据。
我希望item
成为来自服务器的新变量数据,这样我就可以获取这些数据,查看它是什么类型的数据,然后路由到相关视图。
这就是我相信我也在提出一个架构上不合理的想法的地方。但由于我理解不够的原因,无法解释。
有谁知道我可以在哪里访问服务器的返回数据并将我的应用程序适当地导航到相应的路线?
附加信息
这就是我适当地引导它的方式:
window.router = new Project.Routers.QuestionsRouter(
{
words: #{ @words.to_json.html_safe }
});
Backbone.history.start();
router.navigate("#{@words.kind_of?(Array) ? "bar" : "foo"}", {trigger: true, replace: true})