重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
這期內容當中小編將會給大家帶來有關使用vuex如何實現一個購物車功能,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
Vue是一套用于構建用戶界面的漸進式JavaScript框架,Vue與其它大型框架的區別是,使用Vue可以自底向上逐層應用,其核心庫只關注視圖層,方便與第三方庫和項目整合,且使用Vue可以采用單文件組件和Vue生態系統支持的庫開發復雜的單頁應用。
購物車組件
vuex-shopCart
已選商品
商品列表
id 名稱 價格 操作 {{item.id}} {{item.name}} {{item.price}}
選中商品列表
id 名稱 價格 數量 操作 {{item.id}} {{item.name}} {{item.price}} {{item.num}} 暫無數據 總數:{{totalNum}} 總價格:{{totalPrice}}
vuex 創建
npm install vuex --save
,創建vuex文件夾,在文件夾中創建store.js,引入vuex;
import Vue from "vue"; import Vuex from 'vuex'; import cart from "./modules/cart"; Vue.use(Vuex); export default new Vuex.Store({ modules:{ cart } })
建立一個模塊文件夾modules,里面創建創建當個store模塊,然后默認輸出,在store.js中引入;
const state = { shop_list: [{ id: 11, name: '魚香肉絲', price: 12, }, { id: 22, name: '宮保雞丁', price: 14 }, { id: 34, name: '土豆絲', price: 10 }, { id: 47, name: '米飯', price: 2 },{ id: 49, name: '螞蟻上樹', price: 13 }, { id: 50, name: '臘肉炒蒜薹', price: 15 }], add:[] } const getters ={ //獲取商品列表 getShopList:state => state.shop_list, //獲取購物車列表 addShopList:state => { return state.add.map(({id,num})=>{ let product = state.shop_list.find(n => n.id == id); if(product){ return{ ...product, num } } }) }, //獲取總數量 totalNum:(state,getters) =>{ let total =0; getters.addShopList.map(n=>{ total += n.num; }) return total; }, //計算總價格 totalPrice:(state,getters)=>{ let total=0; getters.addShopList.map(n=>{ total += n.num*n.price }) return total; }, } const actions={ //加入購物車 addToCart({commit},product){ commit('addCart',{ id:product.id }) }, //清空購物車 clearToCart({commit}){ commit('clearCart') }, //刪除單個物品 deletToShop({commit},product){ commit('deletShop',product) } } const mutations ={ //加入購物車 addCart(state,{id}){ let record = state.add.find(n => n.id == id); if(!record){ state.add.push({ id, num:1 }) }else{ record.num++; } }, //刪除單個物品 deletShop(state,product){ state.add.forEach((item,i)=>{ if(item.id == product.id){ state.add.splice(i,1) } }) }, //清空購物車 clearCart(state){ state.add=[]; } } export default{ state, getters, actions, mutations }
上述就是小編為大家分享的使用vuex如何實現一個購物車功能了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創新互聯行業資訊頻道。