广告
返回顶部
首页 > 资讯 > 精选 >vue如何实现购物车功能
  • 687
分享到

vue如何实现购物车功能

2023-06-30 02:06:32 687人浏览 安东尼
摘要

本篇内容主要讲解“Vue如何实现购物车功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue如何实现购物车功能”吧!如图,需要有加入购物车的标识思路如下:点击购物车按钮时将商品的id,titl

本篇内容主要讲解“Vue如何实现购物车功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue如何实现购物车功能”吧!

vue如何实现购物车功能

如图,需要有加入购物车的标识思路如下:点击购物车按钮时将商品的id,title,imgUrl(海报图),flag(标识符,flag非常重要,为以后复选框判断是否选中做参考)变成一个数组形式,cart,传入vuex

<template>    <div>  <van-Goods-action>    <van-goods-action-icon icon="chat-o" text="客服" @click="onClickIcon" />    <van-goods-action-icon icon="cart-o" text="购物车" @click="onClickIcon" />    <van-goods-action-button      type="warning"      text="加入购物车"      @click="onClickButton"    />    <van-goods-action-button      type="danger"      text="立即购买"      @click="onClickButton"    />  </van-goods-action>    </div></template><script>  import { Toast } from 'vant';  import { GoodsAction, GoodsActionIcon, GoodsActionButton } from 'vant';  export default {    name: 'tabs',    data(){      return{      }    },    props:{      id:String,      current:String,      title:String,      imgUrl:String    },    components:{      [Toast.name]: Toast,      [GoodsAction.name]: GoodsAction,      [GoodsActionIcon.name]: GoodsActionIcon,      [GoodsActionButton.name]: GoodsActionButton    },     methods: {        onClickIcon() {          Toast('点击图标');        },        onClickButton() {          var cart={id:this.id,current:this.current,num:1,title:this.title,imgUrl:this.imgUrl,flag:true}          this.$store.commit('addCart',cart)          Toast('已加入购物车');        },      },    }</script><style></style>

vuex如下

import Vue from 'vue'import Vuex from 'vuex'import mutations from './mutations.js'Vue.use(Vuex)export default new Vuex.Store({  state: {    cart:[],    money:0,    allchecked:true  },  mutations,})
export default{、//判断是否已经加入过购物车,如果加入过,则该产品数量加一,若没有加入过,将产品加入cart中  addCart(state,data){    for(var i=0;i<state.cart.length;i++){      if(state.cart[i].id==data.id){        state.cart[i].num+=data.num        return      }    }    state.cart.push(data)  },  //该函数为数字+1  addCartNum(state,index){    state.cart[index].num++  },    //该函数为数字-1  jianCartNum(state,index){    if(state.cart[index].num==1){return;}    state.cart[index].num--  },}

vue如何实现购物车功能

vue如何实现购物车功能

购物车

思路如下:若没有产品则显示无产品,若有产品在购物车里,则可进行增删加减

<template>  <div class="bg">    <div class="bGCart" v-if="isGood">      <div class="cartAd">        <h4>          购物车        </h4>        <div v-if="select">          <div class="admin" @click="onAdmin">管理</div>        </div>        <div v-if="!select">          <div class="admin" @click="onOk">完成</div>        </div>      </div>      <van-checkbox-group v-model="result" ref="checkboxGroup">        <div class="cart" v-for="(item,index) in cartList" :key="index">          <van-checkbox :name="item.id" class="checkbox" checked-color="red" v-model="item.flag" @click="chooseChange(item.id, item)">          </van-checkbox>          <div class="box">            <img class="img" :src="baseUrl+item.imgUrl" />            <div class="wraper">              <div class="title">{{item.title}}</div>              <div class="container">                <div class="money">¥{{item.current}}</div>                <div>                  <span class="jian" @click="jian(index)">                    <span class="jianAdj"> -</span>                  </span>                  <span>{{item.num}}</span>                  <span class="jia" @click="add(index)">                    <span class="jiaAdj"> +</span>                  </span>                </div>              </div>            </div>          </div>        </div>      </van-checkbox-group>      <div class="order" v-if="select">        <van-submit-bar :price="getAll" button-text="提交订单">          <van-checkbox v-model="allchecked" checked-color="red" @click="allOrder">全选/取消</van-checkbox>        </van-submit-bar>      </div>      <div class="order" v-if="!select">        <van-submit-bar :price="getAll" button-text="删除" @submit="del">          <van-checkbox v-model="allchecked" checked-color="red" @click="allOrder">全选/取消</van-checkbox>        </van-submit-bar>      </div> </div> <div v-if="!isGood" class="noGood">  <h4>    购物车  </h4>  <img src="../../../static/img/cart.jpg"/>   <span class="add">      您还没有添加任何产品哦   </span>   <van-button round  type="danger">去逛逛</van-button> </div>      <bottom></bottom>  </div></template><script>  import {    Checkbox,    CheckboxGroup  } from 'vant';  import {    SubmitBar  } from 'vant';  import {    Button  } from 'vant';  export default {    name: 'cart',    data() {      return {        result: [],        cartList: [],        select: true,        money: 0,        results: [],        baseUrl: this.common.baseUrl,        allchecked: this.$store.state.allchecked,        isGood:true      }    },    components: {      [SubmitBar.name]: SubmitBar,      [Button.name]: Button,      [Checkbox.name]: Checkbox,      [CheckboxGroup.name]: CheckboxGroup,      bottom: () => import('./components/bottom.vue')    },    computed: {      getAll() {        var money = 0        this.$store.state.cart.forEach(item => {          if (item.flag) {            money += (item.num * item.current) * 100          }        })        return money      }    },    methods: {      //选择单个复选框(非常重要)     //由于我进来是使复选框全选,则在第一次点击的时候使得flag=false      chooseChange(i, item) {        if (this.result.indexOf(i) > -1) {          var arrs = this.result.filter(function(item) {            return item != i;          });          this.result = arrs;          item.flag = false;        } else {          this.result.push(i);          item.flag = true;        }        //判断单个和全部,若单个全选,则this.$store.state.allchecked为true        if (this.result.length < this.$store.state.cart.length) {          this.$store.state.allchecked = false;          this.allchecked = this.$store.state.allchecked;        } else {          this.$store.state.allchecked = true;          this.allchecked = this.$store.state.allchecked;        }      },      //全选状态      allOrder() {        //如果选择状态为选中的时候,设置this.$store.state.allchecked=false变成未选中        if (this.$store.state.allchecked) {          this.$store.state.cart.forEach(item => {            item.flag = false;          })          this.result = [];          this.$store.state.allchecked = false;          this.allchecked = this.$store.state.allchecked;        } else {          this.$store.state.cart.forEach(item => {            item.flag = true;            if (this.result.indexOf(item.id) < 0) {              this.result.push(item.id);            }          })          this.$store.state.allchecked = true;          this.allchecked = this.$store.state.allchecked;        }      },      //数字+      add(index) {        this.$store.commit('addCartNum', index)      },      //数字减      jian(index) {        this.$store.commit('jianCartNum', index)      },      //点击管理      onAdmin() {        this.select = false      },      //点击完成      onOk() {        this.select = true        if(this.result.length==0){          console.log(1)          this.isGood=false        }else{           console.log(this.result)        }      },      //删除      del() {        if (this.result.length == this.$store.state.cart.length) {          this.$store.state.cart.splice(0, this.result.length)          this.result.splice(0, this.result.length)        } else {          this.$store.state.cart.forEach(item => {            if (item.flag) {              this.$store.state.cart.splice(item, 1)              this.result.splice(item.id, 1)            }          })        }      }    },    created() {      this.cartList = this.$store.state.cart      if (this.$store.state.allchecked) {        for (var i = 0; i < this.$store.state.cart.length; i++) {          this.result.push(this.$store.state.cart[i].id)        }      }      if(this.result.length==0){        this.isGood=false      }    }  }</script>

到此,相信大家对“vue如何实现购物车功能”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: vue如何实现购物车功能

本文链接: https://www.lsjlt.com/news/327151.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue如何实现购物车功能
    本篇内容主要讲解“vue如何实现购物车功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue如何实现购物车功能”吧!如图,需要有加入购物车的标识思路如下:点击购物车按钮时将商品的id,titl...
    99+
    2023-06-30
  • vue如果实现购物车功能
    本文小编为大家详细介绍“vue如果实现购物车功能”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue如果实现购物车功能”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 原理分析...
    99+
    2022-10-19
  • vue实现书籍购物车功能
    本文实例为大家分享了vue实现书籍购物车功能的具体代码,供大家参考,具体内容如下 效果图 点击增加、减少购买数量和移除总价格会变化 代码 <!DOCTYPE html&g...
    99+
    2022-11-12
  • vue实现购物车完整功能
    vue实现购物车商品单选、全选及商品数量和总价计算,供大家参考,具体内容如下 效果展示 HTML <template>   <div class="buyCar"...
    99+
    2022-11-13
  • vue如何实现简单的购物车功能
    这篇文章主要介绍“vue如何实现简单的购物车功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue如何实现简单的购物车功能”文章能帮助大家解决问题。1.实现效果:2.涉及到的知识点:toFixed...
    99+
    2023-07-02
  • vue实现简单的购物车功能
    本文实例为大家分享了vue实现简单购物车功能的具体代码,供大家参考,具体内容如下 1.实现效果: 2.涉及到的知识点: toFixed函数、过滤器、reduce高阶函数、v-bin...
    99+
    2022-11-13
  • 如何实现IONIC购物车功能
    这篇文章主要为大家展示了“如何实现IONIC购物车功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何实现IONIC购物车功能”这篇文章吧。具体内容如下HTM...
    99+
    2022-10-19
  • javaweb实现购物车功能
    本篇文章讲的是如何使用javaweb相关知识模拟购物车功能 (web练手小项目) 使用到的相关知识(部分知识点在文章中简单涉及到):        html  cs  javascript  jsp  servlet   ajax  jQu...
    99+
    2023-10-24
    mybatis java mysql servlet tomcat
  • python实现购物车功能
    本文实例为大家分享了python实现购物车功能的具体代码,供大家参考,具体内容如下 功能要求: 要求用户输入总资产,例如:2000显示商品列表,让用户根据序号选择商品,加入购物车购买...
    99+
    2022-11-13
  • jquery实现购物车功能
    本文实例为大家分享了jquery实现购物车功能的具体代码,供大家参考,具体内容如下 html ​<!DOCTYPE html> <html> ...
    99+
    2022-11-12
  • python购物车功能实现
    name = "gaowang" pwd = "123.abc" list_he=[]          #定义空列表,后面接收 for i in range(3):     username = input("请输入您的账号:")    ...
    99+
    2023-01-31
    购物车 功能 python
  • vue实现购物车功能(亲测可用)
    本文实例为大家分享了vue实现购物车功能的具体代码,供大家参考,具体内容如下 如图,需要有加入购物车的标识 思路如下:点击购物车按钮时将商品的id,title,imgUrl(海报图...
    99+
    2022-11-13
  • Vue模拟实现购物车结算功能
    本文实例为大家分享了Vue实现购物车结算功能的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html lang="en"> <...
    99+
    2022-11-12
  • vue简单实现购物车结算功能
    本文实例为大家分享了vue简单实现购物车结算的具体代码,供大家参考,具体内容如下 样式没有写 <template>  <div class="about cont...
    99+
    2022-11-13
  • Vue实现购物车计算总价功能
    用Vue实现一个购物车计算总价的功能,供大家参考,具体内容如下 代码 html <div id="app">         <div class="panel ...
    99+
    2022-11-13
  • 如何用php实现购物车功能
    本篇内容主要讲解“如何用php实现购物车功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用php实现购物车功能”吧!一、购物车功能的基本实现原理购物车是一个存储商品信息的容器,用户通过往购...
    99+
    2023-07-05
  • Vue如何实现分页效果与购物车功能
    这篇文章将为大家详细讲解有关Vue如何实现分页效果与购物车功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。分页组件首先来创建项目:分页组件,做项目不要写动手写代码,要想...
    99+
    2022-10-19
  • angular和BootStrap3如何实现购物车功能
    这篇文章将为大家详细讲解有关angular和BootStrap3如何实现购物车功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、页面搭建1、html结构采用BootS...
    99+
    2022-10-19
  • Vue如何实现淘宝购物车三级选中功能
    本文小编为大家详细介绍“Vue如何实现淘宝购物车三级选中功能”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue如何实现淘宝购物车三级选中功能”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。实现:全选时所有商品+...
    99+
    2023-06-26
  • Android实现简单购物车功能
    本文实例为大家分享了Android实现购物车功能的具体代码,供大家参考,具体内容如下MainActivity布局:<?xml version="1.0" encoding="utf-8"?><LinearL...
    99+
    2023-05-30
    android 购物车 roi
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作