1
我使用Parse JS庫(它是Backbone的擴展)創建單頁Web應用程序。Backbone/Parse應用程序:鏈接在第一次加載時不起作用
我的路由器設置如下:
var AppRouter = Parse.Router.extend({
routes: {
"": "signup",
"signup": "signup",
"login": "login",
"logout": "logout",
"dashboard": "dashboard",
"history": "history",
"account": "account"
},
initialize: function(options) {
},
login: function() {
this.navigateTo(new LoginView(), false);
},
logout: function() {
Parse.User.logOut();
Parse.history.navigate("signup", true);
},
signup: function() {
this.navigateTo(new SignupView(), false);
},
dashboard: function() {
this.navigateTo(new DashboardView(), true);
},
history: function() {
this.navigateTo(new SentMailView(), true);
},
account: function() {
this.navigateTo(new AccountView(), true);
},
navigateTo: function(view, needsSignedIn) {
if (needsSignedIn && !Parse.User.current()) {
Parse.history.navigate("signup", true);
} else if (!needsSignedIn && Parse.User.current()) {
Parse.history.navigate("dashboard", true);
} else {
this.loadView(view);
}
},
loadView: function(view) {
this.view && (this.view.close ? this.view.close() : delete this);
this.view = view;
}
});
在我main.js
末,我創建一個新的路由器,查看和設置pushState
爲true:
new AppRouter;
new AppView;
Parse.history.start({pushState: true});
的我遇到的問題是偶爾(我經常在第一次加載應用程序的頁面時),沒有鏈接工作,他們所做的只是刷新頁面。例如,點擊「/ history」鏈接不會加載歷史頁面,它只是重新加載當前頁面。同樣,點擊指向引導程序下拉菜單的鏈接(該程序只應觸發js調用)也會重新加載當前頁面。刷新瀏覽器(通過刷新按鈕)通常會修復此問題,然後所有鏈接都可正常工作。
任何想法爲什麼會發生這種情況?