すべてのページリクエストを自分のにリダイレクトし、アプリでindex.html
リンク(#urls-/ real / urlsではない)をクリックして実行するrouter.js
ようにしたいので、基本的にページの更新はありません-純粋にajaxです。バックボーンルーティングとhtaccessでこれを行う簡単な方法はありますか?
{pushState: true}
リンクを削除して次のようにフォーマットすると、現時点で機能しています#login
。ただし、有効にpushState
してクリックして#login
も何も起こりません。代わりに、Backboneがを解釈し、#login
レンダリングするルートをたどるのは、ページを更新したときだけloginView
です。
これが私のルーターです:
// Filename: router.js
define( [ 'views/beta/requestInvite', 'views/beta/login' ],
function(requestInviteView, loginView) {
var AppRouter = Backbone.Router.extend( {
routes : {
// Pages
'login' : 'login',
// Default
'*actions' : 'defaultAction'
},
// Pages
login : function() {
loginView.render();
},
defaultAction : function(actions) {
requestInviteView.render();
}
});
var initialize = function() {
var app_router = new AppRouter;
Backbone.history.start({pushState: true});
};
return {
initialize : initialize
};
});
私がしたいのは、requestInviteView
へのリンクを/login
クリックすると、URLがに変わり/login
、loginView
がレンダリングされるということです。
助けてくれてありがとう!