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