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+iview实现文件上传
Nov 17 Vue.js
详解vue中使用transition和animation的实例代码
Dec 12 Vue.js
vue实现购物车的小练习
Dec 21 Vue.js
vue.js watch经常失效的场景与解决方案
Jan 07 Vue.js
如何在vue中使用HTML 5 拖放API
Jan 14 Vue.js
Vue 实例中使用$refs的注意事项
Jan 29 Vue.js
手写Vue2.0 数据劫持的示例
Mar 04 Vue.js
vue-cropper插件实现图片截取上传组件封装
May 27 Vue.js
vue实现水波涟漪效果的点击反馈指令
May 31 Vue.js
Vue如何清空对象
Mar 03 Vue.js
vue.js 使用原生js实现轮播图
Apr 26 Vue.js
vue postcss-px2rem 自适应布局
May 15 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设计模式 Facade(外观模式)
2011/06/26 PHP
Docker 安装 PHP并与Nginx的部署实例讲解
2021/02/27 PHP
JS 类型转换常见方法小结
2010/05/31 Javascript
jquery animate图片模向滑动示例代码
2011/01/26 Javascript
jQuery实现切换页面布局使用介绍
2011/10/09 Javascript
js实现按Ctrl+Enter发送效果
2014/09/18 Javascript
JavaScript中的Web worker多线程API研究
2014/12/06 Javascript
浅谈js中子页面父页面方法 变量相互调用
2016/08/04 Javascript
Jquery组件easyUi实现选项卡切换示例
2016/08/23 Javascript
JavaScript 完成注册页面表单校验的实例
2017/08/19 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
2017/12/06 jQuery
Vue-Router模式和钩子的用法
2018/02/28 Javascript
vuex中的 mapState,mapGetters,mapActions,mapMutations 的使用
2018/04/13 Javascript
vue devtools的安装与使用教程
2018/08/08 Javascript
Vue组件系列开发之模态框
2019/04/18 Javascript
JS插入排序简单理解与实现方法分析
2019/11/25 Javascript
[02:04]2014DOTA2国际邀请赛 BBC小组赛第三天总结
2014/07/12 DOTA
python 实现红包随机生成算法的简单实例
2017/01/04 Python
python实现给微信公众号发送消息的方法
2017/06/30 Python
Python列表常见操作详解(获取,增加,删除,修改,排序等)
2019/02/18 Python
python将字符串list写入excel和txt的实例
2019/07/20 Python
python 爬虫百度地图的信息界面的实现方法
2019/10/27 Python
python3 dict ndarray 存成json,并保留原数据精度的实例
2019/12/06 Python
如何理解Python中的变量
2020/06/01 Python
Python实现JS解密并爬取某音漫客网站
2020/10/23 Python
python中用ctypes模拟点击的实例讲解
2020/11/26 Python
Bibloo荷兰:女士、男士和儿童的服装、鞋子和配饰
2019/02/25 全球购物
办公室前台的岗位职责
2013/12/20 职场文书
好的演讲稿开场白
2013/12/30 职场文书
小学教师办公室制度
2014/02/03 职场文书
工作会议主持词
2014/03/17 职场文书
生日答谢词
2015/01/05 职场文书
基层党支部承诺书
2015/04/30 职场文书
中秋节晚会开场白
2015/05/29 职场文书
粗暴解决CUDA out of memory的问题
2021/05/22 Python
详解Java线程池是如何重复利用空闲线程的
2021/06/26 Java/Android