Vue练手项目之购物车案例(一)

注:初始源代码我放置最后啦!!!

一、准备工作

开始之前我们需要存储一些数据,后面异步接口需要用到,我用的是fastmock网站

1、我们打开fastmock

fastmock 在线接口 Mock 平台  如果是第一次打开可能需要注册登录

2、新建接口

项目名称:购物车案例

接口基础路径:/shop

项目描述:购物车案例

3、设置接口

我们点新增接口 -->接口名:数据存储

                               类型:get

                               url:/cart

4、导入数据

我们在右侧添上以下代码(图片地址和名字都是我自己搜的大家有喜欢的可以替换):

{
  "status": 200,
  "message": "获取购物车列表成功",
  "list": [{
      "id": 1,
      "goods_count": 1,
      "goods_img": "http://t14.baidu.com/it/u=43462758,1432062369&fm=224&app=112&f=JPEG?w=500&h=500",
      "goods_name": "辰米范 法式收腰连衣裙女显瘦新款设计感露背黑色v领泡泡袖长裙子",
      "goods_price": 188.00,
      "goods_state": false
      
    },
    {
      "id": 2,
      "goods_count": 1,
      "goods_img": "https://img14.360buyimg.com/imgzone/jfs/t1/195902/5/25856/287194/62b36d0bEbd86d5b8/df3db4bd5bc056a9.jpg",
      "goods_name": "质感至上 精致贵女风 金属丝星云升级版日本三醋酸连衣裙",
      "goods_price":998.00,
      "goods_state": true
    },
    {
      "id": 3,
      "goods_count": 2,
      "goods_img": "https://inews.gtimg.com/newsapp_bt/0/8111639339/1000",
      "goods_name": "高知疏离 高氧分小洋裙 空气感高包容重磅珍珠缎双层真丝",
      "goods_price": 288.00,
      "goods_state": true
    },
    {
      "id": 4,
      "goods_count": 1,
      "goods_img": "http://t13.baidu.com/it/u=2480967665,3117449742&fm=224&app=112&f=JPEG?w=500&h=500",
      "goods_name": "好养眼 金高银式素美人气质 优雅生姿 竹节轻麻感空气裙",
      "goods_price": 198.00,
      "goods_state": true
    },
    {
      "id": 5,
      "goods_count": 1,
      "goods_img": "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fsafe-img.xhscdn.com%2Fbw1%2F0c873895-112e-4286-b797-9f0fdae3dff2%3FimageView2%2F2%2Fw%2F1080%2Fformat%2Fjpg&refer=http%3A%2F%2Fsafe-img.xhscdn.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1692368179&t=7d482246a02b7bafa81aff12d8e36afe",
      "goods_name": "女童连衣裙2023新款夏季儿童泡泡袖裙子女孩蓬蓬公主裙礼服童装夏",
      "goods_price": 79.00,
      "goods_state": true
    },
    {
      "id": 6,
      "goods_count": 1,
      "goods_img": "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fsafe-img.xhscdn.com%2Fbw1%2Fd69b3192
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue.js 可以用来构建一个简单的购物车功能,以下是一个基本的示例代码,展示了如何使用 VueVuex 和 Vue Router 来实现购物车的增删和结算功能。请注意,这只是一个简化版的示例,并未包含所有细节,如错误处理、商品数据管理等,但核心概念是清晰的。 ```html <!-- 主页面(App.vue) --> <template> <div> <router-view></router-view> <Cart v-if="showCart" :cart-items="cartItems"></Cart> </div> </template> <script> import { mapState } from 'vuex'; import Cart from './components/Cart.vue'; export default { computed: { ...mapState(['cartItems', 'showCart']), }, }; </script> <!-- Cart.vue --> <template> <button @click="addItem">Add to Cart</button> <ul> <li v-for="(item, index) in cartItems" :key="index"> {{ item.name }} - {{ item.price }} <button @click="removeItem(index)">Remove</button> </li> </ul> <button @click="checkout">Checkout</button> </template> <script> export default { methods: { addItem() { // 假设我们从服务器获取商品信息 const newItem = { name: 'Item', price: 10 }; this.$store.dispatch('addCartItem', newItem); }, removeItem(index) { this.$store.dispatch('removeCartItem', index); }, checkout() { // 这里可能跳转到支付页面或者显示结算信息 this.showCart = false; alert('Checking out...'); }, }, }; </script> <!-- vuex store --> // store.js export const state = { cartItems: [], showCart: true, }; export const mutations = { addCartItem(state, newItem) { state.cartItems.push(newItem); }, removeCartItem(state, index) { state.cartItems.splice(index, 1); }, }; export const actions = { async addCartItem({ commit }, newItem) { // 在实际应用中,这里可能是异步操作 commit('addCartItem', newItem); }, async removeCartItem({ commit }, index) { // 同上 commit('removeCartItem', index); }, }; </script> ``` 在这个例子中,`App.vue` 负责渲染购物车组件并管理购物车状态,`Cart.vue` 是购物车的界面,展示商品列表并提供添加和删除按钮,`vuex` 存储购物车的状态。当用户点击“添加到购物车”时,通过 Vuex 的 `actions` 发起异步操作(在这里只是简单地添加),真正处理商品数据时通常会涉及 API 调用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值