Vue购物车(购物车简易版)

首先了解一下效果实现流程

       1. 首先我们在views中创建两个vue项目,(商品页和购物车页)        

        2.在我们商品页拿到我们的数据进行渲染,给每个商品加入一个点击事件,当点击加入购物车页

        3.在购物车页来计算商品的综合加钱,单个的加减

功能的实现

商品页实现流程

        我们通过本地储存localStorage存储到本地,然后在我们Vue项目中的store中创建一个空的对象,来放置我们存在本地的数据,我们在商品页拿取我们vuex中回去的数据进行渲染,我们在vuex中在创建一个我们加入购物车春芳数据的地方,当我们点击商品页的加入购物车,添加进去

 商品页代码:

<template>
    <ul class="goods-list">
        <li class="goods-item" v-for="item in goodsData" :key="item.id">
          <div class="goods-img">
              <img :src="item.img" alt="">
          </div>
          <div class="goods-info">
              <h1 class="goods-title">{
  {item.name}}</h1>
              <p class="goods-price">{
  {item.slogan}}</p>
              <p class="des">{
  {item.price}}</p>
              <p class="save">
                  <button @click="cartshop(item,'ADD')">加入购物</button>
              </p>
          </div>
        </li>
      </ul>
</template>

<script>
import {mapState} from "vuex"
export default {
//获取vuex中数据进行渲染
    computed:{
        ...mapState(['goodsData'])
    },
    created() {
        this.$store.dispatch('setGoods')
    },
//添加数据到购物车页
    methods: {
        cartshop(item,_type){
            this.$store.dispatch('setCart',{
                id:item.id,
                img:item.img,
                name:item.name,
                slogan:item.slogan,
                price:item.price,
                _type
            })
            console.log(this.$store.state.cartData)
            this.$store.dispatch('setTotal')
        }
    },
}
</script>

<style lang="scss" scoped>
   .goods-item{
       position: relative;
        display: flex;
        flex-direction: row;
 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值