最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue中l(wèi)ocalStorage的用法和監(jiān)聽localStorage值的變化

 更新時間:2023年04月19日 09:35:12   作者:中億豐數(shù)字科技  
這篇文章主要介紹了Vue中l(wèi)ocalStorage的用法和監(jiān)聽localStorage值的變化,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

localStorage API

要在 web 應(yīng)用中使用 localStorage,首先要熟悉它提供的屬性和方法:

  • length:返回 localStorage 中的鍵值對的數(shù)目
  • setItem():增加一個鍵值對到 localStorage 中
  • getItem():從 localStorage 中查詢指定 key 的值
  • removeItem():從 localStorage 中刪除指定的鍵值對
  • clear():清空 localStorage 中所有鍵值對
  • key(): 傳入一個數(shù)字 n,用于返回指定第 n 個鍵的值

setItem()

從它的名字可以得知,此方法可以用來存儲數(shù)據(jù)到 localStorage 中。

它接收兩個參數(shù):一個 key 和一個 value。這個 key 稍后可用于從 localStorage 中檢索它的值。

localStorage.setItem("code","12345")

上述代碼中的 ‘code’ 就是 key,’Tylor’ 就是 12345。

需要注意的是 localStorage 只能存儲字符串。要存儲數(shù)組或?qū)ο?,需要先把它們轉(zhuǎn)成字符串。要實(shí)現(xiàn)這個操作,需要在調(diào)用 setItem() 之前先用 JSON.stringify() 方法轉(zhuǎn)換一下:

 let obj = {
      name: "qwer",
      code: "1234",
    };
 localStorage.setItem("msg", JSON.stringify(obj));

注意:此方法執(zhí)行時可能會拋出異常,例如存儲空間已滿時。建議使用 try...catch...語句處理異常以避免程序報錯。

getItem()

getItem() 方法可以用來訪問已存儲在瀏覽器 localStorage 中的數(shù)據(jù)。

它只接收一個參數(shù) key ,會把對應(yīng)的 value 作為字符串返回。

要檢索上面保存的 msg 數(shù)據(jù),可以這樣做:

 localStorage.getItem("msg");

調(diào)用之后會返回一個字符串:

{"name":"qwer","code":"1234"}

要在 JavaScript 中使用該值,你可能想把它轉(zhuǎn)為一個對象。這時可以用 JSON.parse() 方法把 JSON 字符串轉(zhuǎn)為 JavaScript 對象。

JSON.parse(localStorage.getItem("msg"))

removeItem()

當(dāng)傳入一個 key 時,removeItem() 方法會從 localStorage 中刪除指定的數(shù)據(jù)。如果沒有找到指定的 key,則什么都不做。

localStorage.removeItem("msg")

clear()

調(diào)用此方法后,會清空當(dāng)前域名下所有存儲在 localStorage 中的數(shù)據(jù)。調(diào)用時不需要傳入任何參數(shù)。

localStorage.clear()

key()

key() 方法一般用于遍歷 localStorage 中所有的數(shù)據(jù)時,傳入一個以 0 開始計數(shù)的數(shù)字,它會返回對應(yīng)的 key 的名字。

let index = localStorage.key(index)

在vue中實(shí)現(xiàn)監(jiān)聽localstorage中某個鍵對應(yīng)的值的變化

在根目錄下創(chuàng)建一個名為utils的文件夾,在文件夾中創(chuàng)建一個tool.js文件

//****將這段內(nèi)容放在tool.js文件中****
// 重寫setItem事件,當(dāng)使用setItem的時候,觸發(fā),window.dispatchEvent派發(fā)事件
function dispatchEventStroage() {
    const signSetItem = localStorage.setItem
    localStorage.setItem = function(key, val) {
        let setEvent = new Event('setItemEvent')
        setEvent.key = key
        setEvent.newValue = val
        window.dispatchEvent(setEvent)
        signSetItem.apply(this, arguments)
    }
}

export default dispatchEventStroage;

在main.js中引入使用

import tool from "./utils/tool";
Vue.use(tool);

在需要監(jiān)聽localstorage中數(shù)據(jù)變化的文件中加以下代碼

//解決this指向問題,在window.addEventListener中this是指向window的。
//需要將vue實(shí)例賦值給_this,這樣在window.addEventListener中通過_this可以為vue實(shí)例上data中的變量賦值
let _this=this;
//根據(jù)自己需要來監(jiān)聽對應(yīng)的key
window.addEventListener("setItemEvent",function(e){
	//e.key : 是值發(fā)生變化的key
	//e.newValue : 是可以對應(yīng)的新值
	if(e.key==="formDocumnet"){
		console.log(e.newValue);
		_this.content=e.newValue;
	}
})

到此這篇關(guān)于Vue中l(wèi)ocalStorage的用法和監(jiān)聽 localStorage值的變化的文章就介紹到這了,更多相關(guān)localStorage的用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue封裝Axios請求和攔截器的步驟

    Vue封裝Axios請求和攔截器的步驟

    這篇文章主要介紹了Vue封裝Axios請求和攔截器的步驟,幫助大家更好的對axios進(jìn)行封裝并將接口統(tǒng)一管理,同時為請求和響應(yīng)設(shè)置攔截器interceptors。,感興趣的朋友可以了解下
    2020-09-09
  • 使用mint-ui實(shí)現(xiàn)省市區(qū)三級聯(lián)動效果的示例代碼

    使用mint-ui實(shí)現(xiàn)省市區(qū)三級聯(lián)動效果的示例代碼

    下面小編就為大家分享一篇使用mint-ui實(shí)現(xiàn)省市區(qū)三級聯(lián)動效果的示例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • 利用nginx部署vue項(xiàng)目的全過程

    利用nginx部署vue項(xiàng)目的全過程

    今天要用到服務(wù)器nginx,還需要把自己的vue的項(xiàng)目部署到服務(wù)器上去所以就寫一下記錄下來,下面這篇文章主要給大家介紹了關(guān)于利用nginx部署vue項(xiàng)目的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • 手把手教你用VUE封裝一個文本滾動組件

    手把手教你用VUE封裝一個文本滾動組件

    封裝組件相信對大家來說都不陌生了,下面這篇文章主要給大家介紹了關(guān)于用VUE封裝一個文本滾動組件的相關(guān)資料,文中通過圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • vue實(shí)現(xiàn)頁面添加水印

    vue實(shí)現(xiàn)頁面添加水印

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)頁面添加水印功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 9種方法優(yōu)化jQuery代碼詳解

    9種方法優(yōu)化jQuery代碼詳解

    本文將詳細(xì)介紹jQuery代碼優(yōu)化的9種方法,需要的朋友可以參考下
    2020-02-02
  • Vue 詳解mixins混入用法大全

    Vue 詳解mixins混入用法大全

    如果我們在每個組件中去重復(fù)定義這些屬性和方法會使得項(xiàng)目出現(xiàn)代碼冗余并提高了維護(hù)難度,針對這種情況官方提供了Mixins特性,這時使用Vue mixins混入有很大好處,下面就介紹下Vue mixins混入使用方法,需要的朋友參考下吧
    2021-08-08
  • vue最強(qiáng)table vxe-table 虛擬滾動列表 前端導(dǎo)出問題分析

    vue最強(qiáng)table vxe-table 虛擬滾動列表 前端導(dǎo)出問題分析

    最近遇到個問題,后臺一次性返回2萬條列表數(shù)據(jù)并且需求要求所有數(shù)據(jù)必須全部展示,不能做假分頁,怎么操作呢,下面通過本文介紹下vue最強(qiáng)table vxe-table 虛擬滾動列表 前端導(dǎo)出問題,感興趣的朋友一起看看吧
    2023-10-10
  • element UI 中的 el-tree 實(shí)現(xiàn) checkbox 單選框及 bus 傳遞參數(shù)功能

    element UI 中的 el-tree 實(shí)現(xiàn) checkbox&n

    在日常項(xiàng)目開發(fā)中,會經(jīng)常遇到,樹形結(jié)構(gòu)的查詢方式,為了快速方便開發(fā),常常會使用到快捷的ui組件去快速搭樹形結(jié)構(gòu),這里我用的是 element ui 中的 el-tree,對element UI 中的 el-tree 實(shí)現(xiàn) checkbox 單選框及 bus 傳遞參數(shù)的方法感興趣的朋友跟隨小編一起看看吧
    2022-09-09
  • vue3 setup中defineEmits與defineProps的使用案例詳解

    vue3 setup中defineEmits與defineProps的使用案例詳解

    在父組件中定義String、Number、Boolean、Array、Object、Date、Function、Symbol這些類型的數(shù)據(jù),使用defineEmits會返回一個方法,使用一個變量emits(變量名隨意)去接收,本文給大家介紹vue3 setup中defineEmits與defineProps的使用案例,感興趣的朋友一起看看吧
    2023-10-10

最新評論

台安县| 塔城市| 高邮市| 云梦县| 宁乡县| 涞水县| 营口市| 新津县| 垣曲县| 师宗县| 平凉市| 安吉县| 青阳县| 绿春县| 兴文县| 平阳县| 焦作市| 西城区| 日喀则市| 新民市| 崇礼县| 镇巴县| 闵行区| 商洛市| 云南省| 上饶市| 盐池县| 泗水县| 贵定县| 安庆市| 综艺| 安阳市| 大连市| 五大连池市| 洪洞县| 公安县| 临高县| 汾西县| 岫岩| 思南县| 新邵县|