【发布时间】:2012-07-19 05:51:18
【问题描述】:
当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})
【问题讨论】:
-
您不应该绑定到模型的
sync事件,而不是change事件吗?
标签: backbone.js coffeescript underscore.js