vue同一個瀏覽器登錄不同賬號數(shù)據(jù)覆蓋問題解決方案
同一個瀏覽器登錄不同賬號session一致,這就導(dǎo)致后面登錄的用戶數(shù)據(jù)會把前面登錄的用戶數(shù)據(jù)覆蓋掉,這個問題很常見,當(dāng)前我這邊解決的就是同一個瀏覽器不同窗口只能登錄一個用戶,解決方案如下:
1、在App.vue中監(jiān)聽本地數(shù)據(jù),并監(jiān)聽,如果賬號不一致則刷新
這里使用storage監(jiān)聽本地數(shù)據(jù) ,首先在登錄后把數(shù)據(jù)存入本地,這里我用的是sessionStorage和localStorage中的數(shù)據(jù)做對比,因為localStorage數(shù)據(jù)是可共享的,如果不一致則刷新
mounted() {
window.addEventListener('storage', () => this.checkNameExpired());
},
destroyed() {
window.removeEventListener("storage", () => this.checkNameExpired());
},
methods: {
checkNameExpired() {
let newUser = localStorage.getItem('newUserName')
let user = sessionStorage.getItem('userName')
//舊和新用戶賬號都存在時才需要刷新,防止管理端頁面也會刷新
if (newUser && user && newUser != user) {
console.log('頁面刷新');
//頁面刷新
this.$router.go(0);
}
},2、對詳情頁面做頁面訪問失效處理
有些時候用戶點進(jìn)詳情頁,刷新時出現(xiàn)彈窗提示用戶當(dāng)前頁面已丟失,點擊跳回首頁即可
1、首先定義一個彈窗組件,這里我就不寫了
2、在home.vue組件中引入
3、vuex中定義一個屬性控制TrialDialog.vue彈窗組件的顯示和隱藏
4、在監(jiān)聽數(shù)據(jù)不一致時更新vuex中的數(shù)據(jù)即可
App.vue
checkNameExpired() {
let newUser = localStorage.getItem('newUserName')
let user = sessionStorage.getItem('userName')
// 登錄不同賬號刷新后失效頁面路由名稱
let routeName = [需要顯示彈窗的路由名字?jǐn)?shù)組]
if (newUser && user && newUser != user) {
console.log('頁面刷新');
//如果是類似運(yùn)單詳情等頁面,則彈窗提示跳轉(zhuǎn)到首頁
if (routeName.includes(this.$route.name)) {
this.$store.dispatch("updateIsChangeRouter", true);
}
//頁面刷新
this.$router.go(0);
}
},2.1這里還有一個問題,就是彈窗只在內(nèi)容區(qū)塊,如果點擊左邊菜單路由,彈窗不應(yīng)該在,目前是還在,所以我在路由前置中判斷,如果切換的路由不在彈窗里邊的頁面,則更新屬性
router.beforeEach((to, from, next) => {
let routeName = [需要顯示彈窗的路由名字?jǐn)?shù)組]
if (!routeName.includes(to.name)) {
// 在路由切換時隱藏彈窗
if (JSON.parse(sessionStorage.getItem('isShowChangeRouter')) == true) {
store.dispatch("clearChangeRouter", false);
}
}
next();
});到此這篇關(guān)于vue同一個瀏覽器登錄不同賬號數(shù)據(jù)覆蓋問題解決的文章就介紹到這了,更多相關(guān)vue數(shù)據(jù)覆蓋內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Vue實現(xiàn)用戶沒有登陸時,訪問后自動跳轉(zhuǎn)登錄頁面的實現(xiàn)思路
- Vue項目如何保持用戶登錄狀態(tài)(localStorage+vuex刷新頁面后狀態(tài)依然保持)
- vue實現(xiàn)用戶長時間不操作自動退出登錄功能的實現(xiàn)代碼
- vue 實現(xiàn)用戶登錄方式的切換功能
- VuePress 中如何增加用戶登錄功能
- VUE:vuex 用戶登錄信息的數(shù)據(jù)寫入與獲取方式
- vue?+elementui?項目登錄通過不同賬號切換側(cè)邊欄菜單的顏色
- Vue實現(xiàn)登錄記住賬號密碼功能的思路與過程
- vue項目實現(xiàn)表單登錄頁保存賬號和密碼到cookie功能
- vue同一瀏覽器登錄多賬號處理方案
相關(guān)文章
vue3?setup語法糖下父組件如何調(diào)用子組件
這篇文章主要介紹了vue3?setup語法糖下父組件如何調(diào)用子組件問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03
VUE2.0+ElementUI2.0表格el-table實現(xiàn)表頭擴(kuò)展el-tooltip
這篇文章主要介紹了VUE2.0+ElementUI2.0表格el-table實現(xiàn)表頭擴(kuò)展el-tooltip,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11
vue3動態(tài)加載組件以及動態(tài)引入組件詳解
?平常的vue項目開發(fā),已經(jīng)很難遇見一千行,甚至幾千行代碼的頁面了,畢竟大家都會去拆分組件,下面這篇文章主要給大家介紹了關(guān)于vue3動態(tài)加載組件以及動態(tài)引入組件的相關(guān)資料,需要的朋友可以參考下2023-03-03
vue-pdf實現(xiàn)pdf在線預(yù)覽并實現(xiàn)自定義預(yù)覽框高度
這篇文章主要介紹了vue-pdf實現(xiàn)pdf在線預(yù)覽并實現(xiàn)自定義預(yù)覽框高度方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03
Vue-CLI 3.X 部署項目至生產(chǎn)服務(wù)器的方法
這篇文章主要介紹了Vue-CLI 3.X 部署項目至生產(chǎn)服務(wù)器的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03

