1. 程式人生 > 其它 >mysql碎片化釋放

mysql碎片化釋放

在做新增購物車功能時,遇到了這樣一個問題:選擇商品屬性和購買數量後點擊新增購物車,跳出新增成功介面,該介面會對商品資訊進行顯示,在由物品詳情頁面(Detail元件)跳轉至新增成功頁面(AddCartSuccess元件)時需要路由傳參。

 

 

 當傳遞的是一些簡單的資料時,如一個字串,直接使用query即可(此處的skuNum是商品購買數量)

this.$router.push({name:'addcartsuccess',query:{skuNum:this.skuNum}});

 

 

 當需要傳遞的是複雜資料時(比如下面的skuInfo是一個物件),我們可以考慮本地儲存/會話儲存,本地儲存除非特意刪除,不然一直保留,最多存5M,而會話儲存不持久化,會話結束資料消失,適用於此處。

由於本地儲存/會話儲存一般儲存的都是字串,所以我們要把skuInfo轉換為字串形式

sessionStorage.setItem("SKUINFO",JSON.stringify(this.skuInfo));

這樣,我們就通過路由傳參將轉換後的skuInfo傳遞給了AddCartSuccess元件,但若想正常使用,我們要在AddCartSuccess元件中通過計算屬性吧skuInfo再轉換為物件形式

computed:{       //將Detail元件的addShopCar函式中的會話儲存中被轉換為字串形式的skuInfo再轉換回物件,進而使用       skuInfo(){         return
JSON.parse(sessionStorage.getItem('SKUINFO'))       }     } skuNum