1

意図しない方法で Backbone を使用しようとしていると思いますが、実際にはあまり見つかりませんでした。基本的に、ビューを提供するRailsアプリがあります。通常のナビゲーション (ページのリロードなど) を維持したいのですが、バックボーンにルートを見て、そのページのテンプレートの特定の部分を設定し、モデルを処理し、そのすべてを適切に処理します。基本的に、私は Backbone を使用して複雑な JavaScript をすべて「シングル ページ アプリ」にせずに処理しています。PushState を有効にすると、古いブラウザーで絶対パスが壊れますか? 例: "http://localhost:3000/projects" はルート "projects" に一致します。

4

1 に答える 1

0

PushStateはIE6のような古いブラウザーでは機能しませんが、別の手法を使用できます。たとえば、jQueryセレクターを使用して、特定のページにいるかどうかを確認できます。

if ($('#login-page').length > 0) {
  // we're on the login page
  // ..initialize login page related backbone collections and views
}

..または、data属性を使用してhtmlのどこかにアクション/コントローラー名を保存<body data-action="edit" data-controller="post">し、javascriptva4 $body = $('body'); if ($body.data('action') == 'edit' && $body.data('controller') == 'posts') {}などで確認することもできます。

..または、アクション/コントローラーのペアごとに個別のjsファイルを作成し、オンデマンドで含めることができます。

于 2012-04-23T07:33:21.450 に答える