2011-10-27 10 views
0

iveさんは質問がありました。私はプッシュ状態でbackbone.jsを使用し、URLをプッシュしてアクションを実行するようにナビゲートします。 symfony2をバックエンドに使用しています。ここで問題となるのは、ルートをどのように扱うかです。バックボーンではなく、symfonyルーティング経由で読み込まれた/レビュー。コードの重複を避けることは何ですか?Backbone.js Symfonyを使用してリロードした後の状態とページの状態をプッシュ

答えて

0

JavaScriptを有効にしたクライアントのみをターゲットにしている場合は、これらのルート上で何もしないでください。symphonyが受信したすべての要求に対して同じページが表示されます。

JavaScriptを使用しないクライアントもサポートしたい場合は、テンプレートを再利用してみてください。アンダースコアテンプレートhttp://documentcloud.github.com/underscore/docs/underscore.html#section-120を使用することができます(デリミタを変更して{{と{*を使用し、シンフォニーでTwigを使用する)。次に、同じデータをsymphonyと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 
    } 
}) 
関連する問題