Vue.js框架实现购物车功能

作者:涉水的小菜叽 时间:2024-04-30 10:46:59 

本文实例为大家分享了Vue.js框架实现购物车的具体代码,供大家参考,具体内容如下


<!DOCTYPE html>
<html lang="en" xmlns:v-on="http://www.w3.org/1999/xhtml">

<head>
       <meta charset="UTF-8">
       <title>Title</title>
       <script src="../lib/vue.min.js"></script>
   </head>

<body>

<div id="app" style="position: relative;left: 30%">
           <table cellpadding="10">
               <thead>
                   <th><input type="checkbox" v-model="cb" v-on:click="allSelect">全选</th>
                   <th>名称</th>
                   <th>单价</th>
                   <th>数量</th>
                   <th>金额</th>
                   <th>操作</th>
               </thead>

<tbody>
                   <tr v-for="x in info">
                       <td><input type="checkbox" v-model="x.bol" v-on:click="sign()"></td>
                       <td>{{x.name}}</td>
                       <td>{{x.price}}</td>
                       <td><input type="number" v-model="x.num" min="0" style="width: 50px;text-align: center" v-on:click="count(x)" v-on:change="count(x)"></td>
                       <td>{{x.total}}</td>
                       <td><button v-on:click="del(x)">删除</button></td>
                   </tr>
               </tbody>
           </table>

<Br>
           <p>总金额:{{all}}</p>
       </div>

<script>
           var vm = new Vue({
               el: "#app",
               data: {
                   all: 0,
                   cb: false,
                   info: [{
                       bol: false,
                       name: "iphone7",
                       price: 6000,
                       num: 1,
                       total: 6000
                   }, {
                       bol: false,
                       name: "荣耀6x",
                       price: 1200,
                       num: 1,
                       total: 1200
                   }, {
                       bol: false,
                       name: "dell笔记本",
                       price: 4000,
                       num: 1,
                       total: 4000
                   }]
               },
               methods: {
                   //计算单价
                   count: function(obj) {
                       for(var i = 0; i < this.info.length; i++) {
                           //
                           if(this.info[i] == obj) {
                               this.info[i].total = obj.price * obj.num;
                           }
                           //如果被选中了,就计算总价格
                           if(obj.bol) {
                               this.allSelect();
                           }
                       }
                   },
                   //删除
                   del: function(obj) {
                       this.info.splice(this.info.indexOf(obj), 1)
                       this.allCount();
                   },

//单选
                   sign: function() {
                       this.allCount();
                   },
                   //全选
                   allSelect: function() {

for(var i = 0; i < this.info.length; i++) {
                           this.info[i].bol = this.cb;
                       }
                       this.allCount();
                   },
                   //计算总价
                   allCount: function() {
                       //每次计算总价都要清空
                       this.all = 0;
                       for(var i = 0; i < this.info.length; i++) {
                           //计算被选中的商品
                           if(this.info[i].bol) {
                               this.all += this.info[i].total;
                           }
                       }
                   }

}
           })
       </script>
   </body>

</html>

效果图:

Vue.js框架实现购物车功能

更多文章可以点击《Vue.js前端组件学习教程》学习阅读。

关于vue.js组件的教程,请大家点击专题vue.js组件学习教程进行学习。

更多vue学习教程请阅读专题《vue实战教程》

来源:https://blog.csdn.net/xxhdcblogzh888/article/details/76974618

标签:Vue.js,购物车
0
投稿

猜你喜欢

  • python3获取控制台输入的数据的具体实例

    2022-05-08 13:49:37
  • 《CSS禅意花园》学习笔记

    2008-10-20 12:43:00
  • 如何使用SQL Mail收发和自动处理邮件?

    2010-05-16 15:10:00
  • python实现粒子群算法

    2021-03-20 02:27:34
  • Python图像处理库PIL的ImageEnhance模块使用介绍

    2023-05-14 17:29:51
  • TensorFlow卷积神经网络AlexNet实现示例详解

    2022-06-14 21:17:30
  • 利用pytorch实现对CIFAR-10数据集的分类

    2021-11-21 03:09:36
  • oracle 集合

    2009-06-19 18:09:00
  • Python 数据可视化神器Pyecharts绘制图像练习

    2021-01-27 17:42:04
  • PHP mysql_result()函数使用方法

    2023-06-13 08:21:29
  • python基础知识之索引与切片详解

    2023-11-30 03:03:52
  • 运用TensorFlow进行简单实现线性回归、梯度下降示例

    2022-03-02 10:30:15
  • js is_valid_filename验证文件名的函数

    2024-04-23 09:12:05
  • SQL触发器在保持数据库完整性中的实际应用

    2009-10-23 14:34:00
  • Dreamweaver MX 2004 之 Flash Element

    2010-03-25 12:27:00
  • 基于Python实现简单的汉字拼音转换工具

    2022-10-03 10:42:35
  • centos7环境下二进制安装包安装 mysql5.6的方法详解

    2024-01-26 23:37:33
  • 最新idea2021注册码永久激活(激活到2100年)

    2023-06-21 01:42:42
  • 在Python的Django框架中调用方法和处理无效变量

    2023-06-12 06:22:19
  • 七十六个网站用户体验要点

    2010-08-11 14:52:00
  • asp之家 网络编程 m.aspxhome.com