すべてのページリクエストを自分のにリダイレクトし、アプリで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がレンダリングされるということです。
助けてくれてありがとう!