我寫了一個流星應用程序與用戶登錄。用戶註銷後,應用程序將重定向到用戶登錄頁面。但是,當它們是應用程序處於活動狀態(並且用戶已登錄)的瀏覽器(或多個瀏覽器窗口)中的多個選項卡時,只有活動選項卡或瀏覽器窗口會返回到用戶登錄頁面。在另一個窗口中,用戶似乎仍然登錄。但是,當用戶在另一個窗口中執行一些進一步的工作時,再也無法與服務器上的數據庫同步。我認爲Meteor.logout()是被動的,所以其他瀏覽器選項卡或窗口不會刷新的可能性如何? ?其他瀏覽器窗口不會返回到用戶登錄頁面後Meteor.logout()
我在我的路由器folowwing js文件:
var filters = {
isLoggedIn : function(pause) {
if(!Meteor.user()){
this.render('login');
} else {
this.next();
}
}
....
}
Router.onBeforeAction(filters.isLoggedIn);
按下注銷按鈕後,以下的js代碼被執行
Meteor.logout();
感謝您的幫助。
你能按照點擊「註銷」改變,你知道是什麼反應和地方把那個抗元件它總是被渲染(比如在頁面的頁眉或在你的'{{> yield}}'之前)? –
首先,我創建了自己的用戶界面以進行登錄。要測試您要求的內容,我已更改我的代碼:現在,我使用Meteor帳戶系統中的accounts-ui包與{{> loginButtons}}模板結合使用。當我推送「退出」時,它應該是被動的。當我在「顯微鏡」應用程序(來自Meteor書)中嘗試這個時,它就是。當我在我的應用程序中嘗試此操作時,不幸的是它不是。另外,當我在控制檯中運行命令Meteor.logout時,活動的瀏覽器窗口會註銷,但在其他瀏覽器窗口中,什麼都不會發生。 – Quantum