在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  網(wǎng)絡(luò)安全/ sessionStorage中的key可以是變量值嗎?

sessionStorage中的key可以是變量值嗎?

為了減少與后臺的交互帶來的加載時間,
現(xiàn)在擬將從后臺獲取的對象暫存在sessionStorage中
之后需要的時候直接從sessionStorage中取
但是當前頁面可能存在組件復用,
同一個組件中sessionStorage中key如果一樣的話,
所有組件取到的value會都一樣,導致顯示與預期不符合。
現(xiàn)在想把組件的ID作為sessionStorage的key,
但是調(diào)試了幾次獲得的對象都是null
sessionStorage是不支持變量做key嗎?
如果可以的話,我的方法哪里出問題了。
另外也想請教一下類似這種將后端信息緩存的手段,
除了sessionStorage外還有其他更優(yōu)選擇嗎?

self.warningData = response.data.data;
var data = self.warningData;
var id = self.myInfoData.id;
sessionStorage.setItem(id,data)
回答
編輯回答
醉淸風

key是變量時完全可以的,問題出在storage(包括sessionStorage和localStorage)只能存儲字符串的數(shù)據(jù),無法直接存儲js對象和數(shù)組。如果需要存儲對象或者數(shù)組,可以用JSON.stringify先轉(zhuǎn)化成字符串類型存儲進去,讀取之后再解析即可。例如:

var session = {
    'screens' : [],
    'state' : true
};
localStorage.setItem('session', JSON.stringify(session));
var restoredSession = JSON.parse(localStorage.getItem('session'));
console.log(restoredSession);
2017年4月24日 22:12