Vue商城專案05(完)

2021-10-03 19:03:55 字數 3674 閱讀 7655

執行 cnpm i vuex -s

import vuex from 『vuex』

vue.use(vuex)

var store = new vuex.store({})

在vm例項中掛載 store 狀態管理物件 store

addtoshopcar() 

// 拼接出乙個,要儲存到 store 中 car 陣列裡的 商品資訊物件

var goodsinfo = ;

// 呼叫 store 中的 mutations 來將商品加入購物車

this.$store.commit("addtocar", goodsinfo);

}

}

購物車

getters: )

return c

}}

每次剛進入 **,肯定會 呼叫 main.js 在剛呼叫的時候,先從本地儲存中,把 購物車的資料讀出來,放到 store 中

var car = json.parse(localstorage.getitem('car') || '')

當 更新 car 之後,把 car 陣列,儲存到 本地的 localstorage 中

localstorage.setitem('car', json.stringify(state.car))

借助於mui-master,examples,card.html。

複製乙個基礎的元件shopcar_numbox.vue,有選擇數量按鈕。可以直接加樣式style="height:25px;"改變高度

getgoodslist() 

// 獲取購物車商品列表。join(",")根據介面文件需要傳入的辦法,用逗號分隔開傳過去

});}

main.js裡

getters:

getgoodscount(state)

state.car.foreach(item => )

return o

}mutations:

updategoodsinfo(state, goodsinfo)

})// 當修改完商品的數量,把最新的購物車資料,儲存到 本地儲存中

localstorage.setitem('car', json.stringify(state.car))

}

父元件:

子元件:

methods: );}},

props: ["initcount", "goodsid"]

刪除

remove(id, index)

main.js裡的store裡的mutations:

removeformcar(state, id)

})// 將刪除完畢後的,最新的購物車資料,同步到 本地儲存中

localstorage.setitem('car', json.stringify(state.car))

}

display: flex; //讓裡面豎著的的盒子一行排放

justify-content: space-between;//兩端對齊

align-items: center;//垂直居中

計算屬性是基於響應式依賴進行快取的,只有資料發生變化時,才會重新計算,否則直接呼叫快取

// $store.getters.getgoodsselected的值為(id為鍵,值為selected狀態)            

//v-model=true時為開啟開關

元件裡的方法

selectedchanged(id, val) );

}

main.js裡

getters:

getgoodsselected(state)

state.car.foreach(item => )

return o

}mutations:

updategoodsselected(state, info)

})// 把最新的 所有購物車商品的狀態儲存到 store 中去

localstorage.setitem('car', json.stringify(state.car))

}

main.js中  getters: 

getgoodscountandamount(state)

state.car.foreach(item =>

})return o

}元件裡:

已勾選商品 } 件, 總價 ¥}

返回

server.xml檔案裡的是開啟的埠號80

在tomcat安裝目錄下的conf資料夾找到server.xml檔案,在結尾處的前面加上

path為瀏覽器訪問目錄,docbase專案的虛擬根目錄

開啟tomcat伺服器,在瀏覽器訪問localhost:80即可看到該目錄

將專案託管到apache並啟用:

先把dist刪除,然後webpack打包會放到dist中,把dist中的index.html,bundle.js拷貝到docbase專案的虛擬根目錄

注意:如果沒有設定虛擬根目錄,放在預設的根目錄中

輸入172.0.0.1:80或者localhost:80即可看到本地

要讓apache支援gzip功能,要用到deflate_module和headers_module。開啟apache的配置檔案httpd.conf,大約在105行左右,找到以下兩行內容:(這兩行不是連續在一起的)

#loadmodule deflate_module modules/mod_deflate.so

#loadmodule headers_module modules/mod_headers.so

#必須的,就像乙個開關一樣,告訴apache對傳輸到瀏覽器的內容進行壓縮

setoutputfilter deflate

deflatecompressionlevel 9

最少需要加上以上內容,才可以生gzip功能生效。由於沒有做其它的額外配置,所以其它相關的配置均使用apache的預設設定。這裡說一下引數「deflatecompressionlevel」,它表示壓縮級別,值從1到9,值越大表示壓縮的越厲害。

開啟ngrok.exe,輸入ngrok http 80

注意 80 是專案執行的埠號

session status online時說明已經上線。其中forwarding後面的就是位址,直接輸入即可。

注意:由於預設使用的美國的伺服器進行中間轉接,所以訪問速度炒雞慢,訪問時可啟用f牆軟體,提高網頁開啟速度。

小公尺商城實戰vue專案 02

這一章 我們根據選單來開發子選單的首頁父元件 在views中建立 這個就是大體的框架 home.vue 需要配置路由,接著就是按照這種樣式,新增父元件,便好 router index.js import vue from vue import router from vue router vue.u...

vue2 0 練習專案 外賣APP 完

經過今天的努力,終於把這個專案做完了 功能不是很多,就三個頁面這樣子吧!在開發過程中也有遇到些小問題的。比如我在弄那個star評選星星元件時就遇到乙個問題了,在created事件中作資料請求是非同步的,而star控制中的created事件也只會執行一次,導致頁面在載入出來時分數值始終是0的。後面思考...

Vue2仿錘子商城實戰專案專案實戰

目錄,j7 x y m i p5 h 01 專案介紹.mp4 02 環境配置及目錄結構.mp4 03 商品列表頁的布局.mp4 04 商品列表套資料.mp4 n s w7 x s9 y8 s d5 h 05 商品頁元件.mp45 s l g r l v h 06 商品加入購物車.mp4 x9 n1 ...