什么是localStorage
在HTML5中,新加入了一個localStorage特性,這個特性主要是用來作為本地存儲來使用的,解決了cookie存儲空間不足的問題(cookie中每條cookie的存儲空間為4k),localStorage中一般瀏覽器支持的是5M大小,這個在不同的瀏覽器中localStorage會有所不同。
localStorage的優勢
1、localStorage拓展了cookie的4K限制
2、localStorage會可以將第一次請求的數據直接存儲到本地,這個相當於一個5M大小的針對於前端頁面的數據庫,相比於cookie可以節約帶寬,但是這個卻是只有在高版本的瀏覽器中才支持的
3、localStorage與sessionStorage的唯一一點區別就是localStorage屬於永久性存儲,而sessionStorage屬於當會話結束的時候,sessionStorage中的鍵值對會被清空
localStorage的使用
localStorage.getItem(key):獲取指定key本地存儲的值
localStorage.setItem(key,value):將value存儲到key字段
data() { return { city_list: [], }; }, mounted() { //把后台數據存儲到本地,避免每次刷新向后台發出請求 //mounted生命周期加載時存儲到本地 var storage = localStorage.getItem("city_list"); if (storage) { this.city_list = JSON.parse(this.city_list); console.log(this.city_list); } else { axios.get("/city.php").then((res) => { var status = res.statusText; if (status == "OK") { this.city_list = res.data.city; // ajax拿到后台數據將json字符串數據存到city_list中,因為拿數據時只能接受字符串
// 使用setitem將json字符串存儲到key值city_list中 window.localStorage.setItem( "city_list ", JSON.stringify(this.city_list) ); } }); } }
var
storage
=
localStorage
.
getItem
(
"city_list"
);
if
(
storage
) {
this
.
city_list
=
JSON
.
parse
(
this
.
city_list
);
console
.
log
(
this
.
city_list
);
}
else
{
axios
.
get
(
"/city.php"
).
then
((
res
)
=>
{
Indicator
.
close
();
var
status
=
res
.
statusText
;
if
(
status
==
"OK"
) {
console
.
log
(
res
);
this
.
city_list
=
res
.
data
.
city
;
// ajax拿到后台數據將json字符串數據存到city_list中,因為拿數據時只能接受字符串
window
.
localStorage
.
setItem
(
"city_list "
,
JSON
.
stringify
(
this
.
city_list
)
);
}
});
}