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

vue項目如何監(jiān)聽localStorage或sessionStorage的變化

 更新時間:2021年01月04日 10:42:36   作者:歸塵2016  
這篇文章主要介紹了vue 項目如何監(jiān)聽localStorage或sessionStorage的變化,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下

出現(xiàn)這個問題的起因:在一個VUE頁面中,引入兩個組件,A組件實現(xiàn)基礎(chǔ)信息展示,B組件展示列表,我要通過A組件的一個按鈕觸發(fā)狀態(tài),然后B組件根據(jù)A組件觸發(fā)的狀態(tài)來做業(yè)務(wù)處理,首先想到的是把狀態(tài)放在localStorage,接下去就是在B組件怎么監(jiān)聽A組件狀態(tài)

解決方法:

1.首先在 main.js 中給 Vue.protorype 注冊一個全局方法,然后創(chuàng)建一個 StorageEvent 方法,當(dāng)我在執(zhí)行sessionStorage.setItem(k, val) 的時候,初始化事件并派發(fā)事件。

/**
 * @description
 * @author (Set the text for this tag by adding docthis.authorName to your settings file.)
 * @date 2019-05-29
 * @param { number } type 1 localStorage 2 sessionStorage
 * @param { string } key 鍵
 * @param { string } data 要存儲的數(shù)據(jù)
 * @returns 
 */
Vue.prototype.$addStorageEvent = function (type, key, data) {
  if (type === 1) {
    // 創(chuàng)建一個StorageEvent事件
    var newStorageEvent = document.createEvent('StorageEvent');
    const storage = {
      setItem: function (k, val) {
        localStorage.setItem(k, val);
        // 初始化創(chuàng)建的事件
        newStorageEvent.initStorageEvent('setItem', false, false, k, null, val, null, null);
        // 派發(fā)對象
        window.dispatchEvent(newStorageEvent);
      }
    }
    return storage.setItem(key, data);
  } else {
    // 創(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, data);
  }
}

還有一個簡單封裝監(jiān)聽localStorage

2.在A組件中調(diào)用——寫入緩存

this.$addStorageEvent(2, "user_info", data);

或者

this.resetSetItem('watchStorage', jsonObj);

3.在B組件中監(jiān)聽

window.addEventListener('setItem', (e) => {
   console.log(e);
});

或者

window.addEventListener('setItem', ()=> {
    this.newVal = sessionStorage.getItem('watchStorage');
    var data=JSON.parse(this.newVal)
     console.log(data)
})

以上就是vue 項目如何監(jiān)聽localStorage或sessionStorage的變化的詳細(xì)內(nèi)容,更多關(guān)于vue 項目監(jiān)聽localStorage或sessionStorage的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 解決vue打包報錯Unexpected token: punc的問題

    解決vue打包報錯Unexpected token: punc的問題

    這篇文章主要介紹了解決vue打包報錯Unexpected token: punc的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • vue3?hook自動導(dǎo)入原理及使用

    vue3?hook自動導(dǎo)入原理及使用

    最近學(xué)習(xí)了hooks,特地寫一篇文章加深一下印象,下面這篇文章主要給大家介紹了關(guān)于vue3?hook自動導(dǎo)入原理及使用的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • 解決Ant Design Modal內(nèi)嵌Form表單initialValue值不動態(tài)更新問題

    解決Ant Design Modal內(nèi)嵌Form表單initialValue值不動態(tài)更新問題

    這篇文章主要介紹了解決Ant Design Modal內(nèi)嵌Form表單initialValue值不動態(tài)更新問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • Message組件實現(xiàn)發(fā)財UI?示例詳解

    Message組件實現(xiàn)發(fā)財UI?示例詳解

    這篇文章主要為大家介紹了Message組件實現(xiàn)發(fā)財UI的手寫示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • 前端vue3中的ref與reactive用法及區(qū)別總結(jié)

    前端vue3中的ref與reactive用法及區(qū)別總結(jié)

    這篇文章主要給大家介紹了關(guān)于前端vue3中的ref與reactive用法及區(qū)別的相關(guān)資料,關(guān)于ref及reactive的用法,還是要在開發(fā)中多多使用,遇到響應(yīng)式失效問題,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-08-08
  • 如何為老vue項目添加vite支持詳解

    如何為老vue項目添加vite支持詳解

    Vite是一個開發(fā)環(huán)境工具,旨在提高我們的開發(fā)速度,下面這篇文章主要給大家介紹了關(guān)于如何為老vue項目添加vite支持的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • vue中使用jwt-decode解析token的方法

    vue中使用jwt-decode解析token的方法

    這篇文章主要介紹了vue中使用jwt-decode解析token,文末給大家補充介紹了vue通過jwt-decode解析token獲取需要的數(shù)據(jù),本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • Vue列表頁渲染優(yōu)化詳解

    Vue列表頁渲染優(yōu)化詳解

    這篇文章主要為大家詳細(xì)介紹了Vue列表頁渲染優(yōu)化的操作,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Vue如何解決兄弟組件之間傳值問題

    Vue如何解決兄弟組件之間傳值問題

    這篇文章主要介紹了Vue如何解決兄弟組件之間傳值問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vite環(huán)境變量配置小結(jié)

    vite環(huán)境變量配置小結(jié)

    Vite環(huán)境變量配置是Vite開發(fā)環(huán)境下重要的一環(huán),它能夠根據(jù)不同的環(huán)境變量對項目進行不同的配置,使得項目更加靈活和可維護,本文就來介紹一下vite環(huán)境變量配置小結(jié),感興趣的可以了解一下
    2023-11-11

最新評論