怎么通过vue实现购物车模块

275 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 16 天,点击查看活动详情

因为最近实训,选的应用开发,主要是讲的前端。比如最近的vue使用,突然想起来,能不能做一个购物车部分。具体样式如下 image.png

实现功能:

  1. 点击加入购物车会在下面购物车显示,如果不是第一次加入会增加数量
  2. 购物车选中变化,总价也会变化
  3. 通过购物车里面加减按钮控制数量

步骤:

  1. 先在data里面声明商品数组,包括商品信息,里面包括商品id,商品名字,商品价格,商品数量,如果做选中框需要加入check字段。

  2. 然后新建一个列表,通过v-for遍历数组,进行页面渲染。

  3. 通过点击加入购物车,在另外一个购物车数组里面增加数据。

  4. 新建列表,通过v-for遍历购物车数组,进行页面渲染

  5. 最后看到总价

我们可以把他拆分一下

展示商品怎么做? 主要包括,img,商品名字,商品价格,按钮加入购物车。

先根据数据在data里面把数据加上:然后书写出相关的div标签。然后通过button绑定一个事件。

购物车怎么做? 主要包括:img,商品名字,商品价格,按钮加入购物车。

最后还有一个总价。

加减按钮:

<button @clict=“number++”>+< /button>,<button @clict=“number--”>-< /button>

因为是商品,使用不能为负数,可以 @clict=“number>0?number--:number”

也可以拉出来作为一个函数:@clict=“fun()” fun(){if(number>0){number--}}

总价:

image.png

声明一个button并且在数据里面新加一个sum,初始值为0.

在add里面,对购物车进行循环,然后对sum进行赋值。

循环可以通过for,即: for(var ob in carList){}

注:carList就是购物车里面数据。

image.png

sum逻辑如下:

image.png

加入购物车按钮

声明一个数组,当点击加入购物车时候,触发函数,函数的作用就是把数据加入数组

image.png

我们可以看到代码里面有check,其实每一条商品面前,有一个选中框,是比较常见的。

总结:vue是数据驱动的一种,输入这里虽然没有使用数据库,但是我们在data里面声明了数据。对于图片,一般使用绝对路径。 我们可以通过v-for遍历数组,然后通过v-model绑定数据。 可以通过v-on:click="事件处理函数"或者@click="事件处理函数"绑定函数。

对于函数书写,其实和其他语言逻辑一样的。比如计算总价,我们需要看购物车里面的数量和价格,然后给进行累加。使用代码就算,循环遍历数组,取出number*price。