欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue實現(xiàn)監(jiān)聽數(shù)值的變化,并捕捉到

 更新時間:2022年10月24日 16:46:31   作者:施玥喵  
這篇文章主要介紹了vue實現(xiàn)監(jiān)聽數(shù)值的變化,并捕捉到問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

上傳頭像的例子是完整的,登錄沒全部展示

1. 封裝全局監(jiān)聽方法

在main.js中給引入watchsessionStorage(可以放多個函數(shù))。

約定監(jiān)聽的sessionStorage的值為"dialogLogin",“avatarUrl”,然后創(chuàng)建StorageEvent方法,當(dāng)執(zhí)行sessionStorage.setItem(k, val) 時,初始化事件,并派發(fā)事件

//用于登錄判斷是否有token
export function resetSetItem(key, newVal) {
    if (key === 'dialogLogin') {
        // 創(chuàng)建一個StorageEvent事件
        var newStorageEvent = document.createEvent('StorageEvent');
        const storage = {
            setItem: function (k, val) {
                sessionStorage.setItem(k, val);
                // 初始化創(chuàng)建的事件
                newStorageEvent.initStorageEvent('setItem', false, false, k, null, val, null, null);
                // 派發(fā)對象
                window.dispatchEvent(newStorageEvent)
            }
        }
        return storage.setItem(key, newVal);
    }
}
//用于上傳頭像事,頭部實時改變
export function resetSetItemAvatar(key, newVal) {
    if (key === 'avatarUrl') {
        // 創(chuàng)建一個StorageEvent事件
        var newStorageEvent = document.createEvent('StorageEvent');
        const storage = {
            setItem: function (k, val) {
                sessionStorage.setItem(k, val);
                // 初始化創(chuàng)建的事件
                newStorageEvent.initStorageEvent('setItem', false, false, k, null, val, null, null);
                // 派發(fā)對象
                window.dispatchEvent(newStorageEvent)
            }
        }
        return storage.setItem(key, newVal);
    }
}

2. 觸發(fā),并將監(jiān)聽的值存入Storage

例如在某個路由中需要將某個值作為監(jiān)聽的值,則在該路由下的調(diào)用該方法。

resetSetItemAvatar('avatarUrl',res.data.avatar); 
//res.data.avatar就是你要存入的值(例子:avatar頭像)

3. 監(jiān)聽

如果在另一個路由下需要根據(jù)watchStorage的值變化來刷新請求的頁面數(shù)據(jù)時,可以在這個路由下的created鉤子函數(shù)中監(jiān)聽。

window.addEventListener('setItem', ()=> {
    //這里就可以根據(jù)具體情況調(diào)用或刷新需要的操作
    this.avatar = sessionStorage.getItem("avatarUrl");; //獲取監(jiān)聽的值
})

完整例子(代碼看上面 ??)

第一步

在utils文件夾新建一個js

第二步

在main.js引入(用于登錄部分,可看可不看)

第二步

在上傳頭像的vue頁面引入(用于存儲頭像,主要例子)

第三步

在header.vue使用(只要上傳頭像,這里就會捕捉到,刷新頭像)

效果圖

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue 如何設(shè)置背景顏色及透明度

    vue 如何設(shè)置背景顏色及透明度

    這篇文章主要介紹了vue 設(shè)置背景顏色及透明度的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Vue.js slot插槽的作用域插槽用法詳解

    Vue.js slot插槽的作用域插槽用法詳解

    這篇文章主要介紹了Vue.js slot插槽的作用域插槽用法詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • vue-cli —— 如何局部修改Element樣式

    vue-cli —— 如何局部修改Element樣式

    這篇文章主要介紹了vue如何局部修改Element樣式,幫助大家更好的理解和使用vue,感興趣的朋友可以了解下
    2020-10-10
  • vue車牌搜索組件使用方法詳解

    vue車牌搜索組件使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了vue車牌搜索組件的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • vue服務(wù)端渲染操作簡單入門實例分析

    vue服務(wù)端渲染操作簡單入門實例分析

    這篇文章主要介紹了vue服務(wù)端渲染操作,結(jié)合簡單實例形式分析了vue.js服務(wù)端渲染操作的原理、實現(xiàn)方法及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-08-08
  • webstorm提示?@路徑?Module?is?not?installed的問題

    webstorm提示?@路徑?Module?is?not?installed的問題

    這篇文章主要介紹了webstorm提示?@路徑?Module?is?not?installed的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Vue項目添加前綴,ngnix發(fā)布相關(guān)修改問題

    Vue項目添加前綴,ngnix發(fā)布相關(guān)修改問題

    這篇文章主要介紹了Vue項目添加前綴,ngnix發(fā)布相關(guān)修改問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 使用vant的地域控件追加全部選項

    使用vant的地域控件追加全部選項

    這篇文章主要介紹了使用vant的地域控件追加全部選項,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • vue設(shè)置必填項和判斷必填項是否填入的彈窗提示

    vue設(shè)置必填項和判斷必填項是否填入的彈窗提示

    表格判斷在很多項目中都用得到,本文主要介紹了vue設(shè)置必填項和判斷必填項是否填入的彈窗提示,具有一定的參考價值,感興趣的可以了解一下
    2023-11-11
  • vue3.0+vant3.0快速搭建項目的實現(xiàn)

    vue3.0+vant3.0快速搭建項目的實現(xiàn)

    本文主要介紹了vue3.0+vant3.0快速搭建項目的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08

最新評論