今天需要做一個功能透乾,就是把數(shù)據(jù)存進(jìn)本地瀏覽器里,之后進(jìn)入頁面在拿出來磕秤,自己做的一個小移動端的功能乳乌,把產(chǎn)品數(shù)據(jù)存進(jìn)本地市咆,當(dāng)用戶點(diǎn)擊購物車的時候存進(jìn)本地汉操,之后進(jìn)入購物車頁面需要把數(shù)據(jù)拿出來,但是下次再添加數(shù)據(jù)進(jìn)本地瀏覽器的時候蒙兰,需要把本地的數(shù)據(jù)一起拿出來磷瘤,和新要存的數(shù)據(jù)在一起存進(jìn)去,這樣數(shù)據(jù)才不會重疊搜变,那么我的思路是這樣的
// 添加進(jìn)購物車
AddToCart() {
this.$toast("加入購物車成功");
// 當(dāng)前要存的數(shù)據(jù)
this.nowlist = this.producData[this.$route.query.product];
// 獲取本地瀏覽器的數(shù)據(jù)
let localnew = JSON.parse(localStorage.getItem("cartlist"));
//之后進(jìn)行判斷采缚,如果不是第一次添加數(shù)據(jù)的話,那么需要把新數(shù)據(jù)存進(jìn)當(dāng)前的數(shù)組中挠他,一起存到本地瀏覽器
if (localnew) {
localnew.push(this.nowlist);
localStorage.setItem("cartlist", JSON.stringify(localnew));
} else {
//否則扳抽,就是第一次添加數(shù)據(jù)的時候,定義一個大數(shù)組殖侵,把存的數(shù)據(jù)push進(jìn)數(shù)組里贸呢,在存進(jìn)本地,一定要保證每次存進(jìn)去的是一個數(shù)組拢军,里面是對象楞陷,否則,一次存數(shù)組茉唉,第二次存對象固蛾,那么這個數(shù)據(jù)是混亂的,而且之后遍歷數(shù)據(jù)渲染數(shù)據(jù)是不成功的赌渣,因?yàn)閿?shù)據(jù)類型不一樣魏铅,沒辦法直接遍歷拿出數(shù)據(jù)
this.cartlist.push(this.nowlist);
localStorage.setItem("cartlist", JSON.stringify(this.cartlist));
}
// 跳轉(zhuǎn)路由
this.$router.push("/cart");