Tôi muốn có mọi yêu cầu trang chuyển hướng đến index.html
của tôi, và bất kỳ link (không #urls -/thực/url) nhấp vào ứng dụng của tôi chạy qua router.js
do đó về cơ bản là không có trang làm mới - thuần túy ajax. Có cách nào dễ dàng để làm điều này với Backbone định tuyến và htaccess?Backbone Router không làm việc với pushState
Tôi làm việc tại thời điểm này nếu tôi lấy đi {pushState: true}
và định dạng các liên kết của tôi như #login
. Tuy nhiên, khi tôi kích hoạt pushState
và nhấp vào #login
, không có gì xảy ra. Thay vào đó, nó chỉ là một lần tôi làm mới trang mà Backbone diễn giải #login
và đi theo lộ trình để hiển thị loginView
.
Đây là router của tôi:
// 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
};
});
Những gì tôi muốn xảy ra là trong requestInviteView
, khi liên kết đến /login
được nhấp, những thay đổi url để /login
và loginView
được trả lại.
Cảm ơn bạn đã trợ giúp!
Bạn có thể thực hiện điều này một cách tự động bằng phương pháp tương tự [this gist] (https : //gist.github.com/colllin/5717284). – colllin