vue编写简单的购物车功能


Posted in Vue.js onJanuary 08, 2021

使用vue写出简单的购物车,供大家参考,具体内容如下

vue编写简单的购物车功能

代码:

// An highlighted block
<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <title>Document</title>
 <style>
  .cl{
   border: 1px solid black;
   width: 300px;
   margin: 30px;
   padding: 15px;
  }
 </style>
</head>
<body>
 <div id="app">
  <div class="cl" v-for="(item,index) in items">
   <h4>{{item.sname}}</h4>
   <button @click="item.sum==0?item.sum==0:item.sum--">-</button>
   <span>{{item.sum}}</span>
   <button @click="item.sum++">+</button>
   <span>{{item.sprice}}元/斤</span>
  </div>

  <table>
   <tr>
    <th>选择</th>
    <th>商品名</th>
    <th>商品数量</th>
    <th>商品价格</th>
   </tr>
   <tr v-for="(item,index) in items">
    <td><input type="checkbox" :checked="item.isSelect" @click="item.isSelect=!item.isSelect"></td>
    <td>{{item.sname}}</td>
    <td>{{item.sum}}</td>
    <td>{{item.sprice*item.sum}}</td>
   </tr>
   <tr>
    <td><input type="checkbox" @click="selectProduct(isSelectAll)" :checked="isSelectAll">全选</tf>
    <td>合计</tf>
    <td>{{total.totalNum}}</tf>
    <td>{{total.totalPrice}}</tf>
   </tr>
  </table>
 </div>
 <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
 <script>
  new Vue({
   el:'#app',
   data:{
    items:[
     {
      'sname':'苹果',
      'sum':1,
      'sprice':'10',
     },
     {
      'sname':'香蕉',
      'sum':1,
      'sprice':'12',
     },
     {
      'sname':'橘子',
      'sum':1,
      'sprice':'8',
     },
    ]
   },
   methods:{
    selectProduct:function(_isSelect){
     for(var i=0 ,len=this.items.length;i<len;i++){
      this.items[i].isSelect=!_isSelect;
     }
    },
    
   },
   computed:{
    isSelectAll:function(){
     return this.items.every(function(val){return val.isSelect})
    },
     total:function(){
     var prolist = this.items.filter(function(val){return val.isSelect});
     totalpri = 0;
     totalnum = 0;
     for (var i = 0;i<prolist.length;i++){
      totalpri+=prolist[i].sprice*prolist[i].sum;
      totalnum+=prolist[i].sum
     }
     
     return{totalNum:totalnum,totalPrice:totalpri}
    }
   },
   mounted:function(){
    var _this=this;
    this.items.map(function(item){
     _this.$set(item,'isSelect',false)
    })
   }
  })
 </script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Vue.js 相关文章推荐
Vue开发中常见的套路和技巧总结
Nov 24 Vue.js
对vue生命周期的深入理解
Dec 03 Vue.js
vue图片裁剪插件vue-cropper使用方法详解
Dec 16 Vue.js
vue中activated的用法
Jan 03 Vue.js
通过vue.extend实现消息提示弹框的方法记录
Jan 07 Vue.js
Vue中的nextTick作用和几个简单的使用场景
Jan 25 Vue.js
如何在 Vue 表单中处理图片
Jan 26 Vue.js
Vue实现圆环进度条的示例
Feb 06 Vue.js
vue-router路由懒加载及实现的3种方式
Feb 28 Vue.js
解决vue中provide inject的响应式监听
Apr 19 Vue.js
vue动态绑定style样式
Apr 20 Vue.js
vue如何清除浏览器历史栈
May 25 Vue.js
解决vue使用vant轮播组件swipe + flex时文字抖动问题
Jan 07 #Vue.js
vuex的使用和简易实现
Jan 07 #Vue.js
vue watch监控对象的简单方法示例
Jan 07 #Vue.js
vue.js watch经常失效的场景与解决方案
Jan 07 #Vue.js
通过vue.extend实现消息提示弹框的方法记录
Jan 07 #Vue.js
如何在vue-cli中使用css-loader实现css module
Jan 07 #Vue.js
vue3中轻松实现switch功能组件的全过程
Jan 07 #Vue.js
You might like
发一个php简单的伪原创程序,配合商城采集用的
2010/10/12 PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
2016/09/23 PHP
jquery的ajax请求全面了解
2013/03/20 Javascript
使用Grunt.js管理你项目的应用说明
2013/04/24 Javascript
jquery给图片添加鼠标经过时的边框效果
2013/11/12 Javascript
鼠标滑过出现预览的大图提示效果
2014/02/26 Javascript
javascript面向对象之访问对象属性的两种方式分析
2015/01/13 Javascript
js实现完全自定义可带多级目录的网页鼠标右键菜单方法
2015/02/28 Javascript
js实现简单锁屏功能实例
2015/05/27 Javascript
Nodejs Stream 数据流使用手册
2016/04/17 NodeJs
vue实现ajax滚动下拉加载,同时具有loading效果(推荐)
2017/01/11 Javascript
微信小程序日历组件calendar详解及实例
2017/06/08 Javascript
原生JS+CSS实现炫酷重力模拟弹跳系统的登录页面
2017/11/01 Javascript
基于three.js编写的一个项目类示例代码
2018/01/05 Javascript
解决Mac node版本升级失败的问题
2018/05/16 Javascript
微信小程序仿朋友圈发布动态功能
2018/07/15 Javascript
[00:10]DOTA2全国高校联赛速递
2018/05/30 DOTA
python聊天程序实例代码分享
2013/11/18 Python
python中去空格函数的用法
2014/08/21 Python
使用Python的Flask框架构建大型Web应用程序的结构示例
2016/06/04 Python
简单谈谈Python流程控制语句
2016/12/04 Python
Python编程之字符串模板(Template)用法实例分析
2017/07/22 Python
Python标准库inspect的具体使用方法
2017/12/06 Python
Python常见MongoDB数据库操作实例总结
2018/07/24 Python
Python第三方库h5py_读取mat文件并显示值的方法
2019/02/08 Python
Python爬虫 批量爬取下载抖音视频代码实例
2019/08/16 Python
python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法
2020/02/26 Python
Django中从mysql数据库中获取数据传到echarts方式
2020/04/07 Python
python如何处理程序无法打开
2020/06/16 Python
Vans(范斯)新西兰官方网站:美国原创极限运动品牌
2020/09/19 全球购物
工程师岗位职责
2013/11/08 职场文书
应届生个人求职信模板
2013/11/26 职场文书
采购部长岗位职责
2014/06/13 职场文书
地方课程教学计划
2015/01/19 职场文书
梳理总结Python开发中需要摒弃的18个坏习惯
2022/01/22 Python
Java 轮询锁使用时遇到问题
2022/05/11 Java/Android