2011-10-27 150 views
0

我得到了一个问题。我使用backbone.js和push状态并导航到推送url并执行操作。我使用symfony2作为后端。现在的问题是如何处理路线,例如/评论,通过symfony路由加载,而不是backone。有没有避免代码重复?Backbone.js使用Symfony重新加载状态和页面状态

回答

0

如果您的目标只是支持javascript的客户端,请不要对这些路由执行任何操作 - 只显示交响乐收到的所有请求的相同页面。

如果您想要支持没有JavaScript的客户端,请尝试重新使用您的模板。您可以使用下划线模板http://documentcloud.github.com/underscore/docs/underscore.html#section-120(只需更改分隔符即可使用{{和{*并在交响乐中使用Twig)。然后,您应确保将相同的数据从交响乐和Backbone发送到模板。基本上,当您渲染模板时,您将以与在服务器上执行的相同的格式发送数据。

var PostView = Backbone.View.extend({ 
    render: function() { 
    $(this.el).html(this.template({post: this.model.toJSON()})); 
    // so you can use post.title post.description in the template 
    } 
})