亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 vuejs 確保多個選項卡之間的變量一致性

如何使用 vuejs 確保多個選項卡之間的變量一致性

胡說叔叔 2021-09-17 16:53:47
我有一個 vuejs 前端,只有在用戶登錄時才顯示菜單。當我注銷時,我將變量更新isLogged為 false:它隱藏了菜單。如果我在多個選項卡(已登錄)中打開我的前端,我會在其中一個選項卡中注銷:我的菜單隱藏在我注銷的選項卡中,但是,在所有其他選項卡中,我的僅登錄菜單仍然存在。我有一個函數checkIfIsLogged可以檢查是否存儲了令牌(這證明用戶已登錄),如果沒有,則將isLogged變量傳遞給 false。我可以使用此功能來保持isLogged任何選項卡中的一致性和更新 ,但最佳實踐是什么?定期運行?僅當用戶關注選項卡時?其他想法?
查看完整描述

2 回答

?
絕地無雙

TA貢獻1946條經驗 獲得超4個贊

您可以在 localStorage 更改上放置一個事件偵聽器并正確處理它們,而不是不斷檢查存儲。


window.addEventListener('storage', function(event) {  

  if (event.key === 'token'&& !event.newValue) {

      console.log('Logged out from another tab!');

      // do whatever you need after logout

  }

});

因此,當有人從另一個選項卡更改 localStorage 時 - 將觸發此事件。請注意,該事件會在所有選項卡上觸發,但已完成更改的選項卡除外。您可以在此處閱讀有關 StorageEvent 的更多信息。


查看完整回答
反對 回復 2021-09-17
  • 2 回答
  • 0 關注
  • 254 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號