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 19 Vue.js
在Vue中使用CSS3实现内容无缝滚动的示例代码
Nov 27 Vue.js
vue-calendar-component 封装多日期选择组件的实例代码
Dec 04 Vue.js
vue基于Echarts的拖拽数据可视化功能实现
Dec 04 Vue.js
Vue——解决报错 Computed property &quot;****&quot; was assigned to but it has no setter.
Dec 19 Vue.js
vue 在单页面应用里使用二级套嵌路由
Dec 19 Vue.js
vue3自定义dialog、modal组件的方法
Jan 04 Vue.js
vue登录页实现使用cookie记住7天密码功能的方法
Feb 18 Vue.js
vue-router懒加载的3种方式汇总
Feb 28 Vue.js
Vue + iView实现Excel上传功能的完整代码
Jun 22 Vue.js
解决vue中provide inject的响应式监听
Apr 19 Vue.js
详解Vue3使用axios的配置教程
Apr 29 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
ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
2014/07/22 PHP
PHP生成json和xml类型接口数据格式
2015/05/17 PHP
jscript之Open an Excel Spreadsheet
2007/06/13 Javascript
javascript 实现父窗口引用弹出窗口的值的脚本
2007/08/07 Javascript
JQuery 实现的页面滚动时浮动窗口控件
2009/07/10 Javascript
XMLHTTPRequest的属性和方法简介
2010/11/23 Javascript
深入理解JavaScript系列(16) 闭包(Closures)
2012/04/12 Javascript
JS+CSS实现可以凹陷显示选中单元格的方法
2015/03/02 Javascript
javascript实现很浪漫的气泡冒出特效
2020/09/05 Javascript
jQuery实现iframe父窗体和子窗体的相互调用
2016/06/17 Javascript
基于jQuery实现淡入淡出效果轮播图
2020/07/31 Javascript
jQuery实现点击查看大图并以弹框的形式居中
2016/08/08 Javascript
angular forEach方法遍历源码解读
2017/01/25 Javascript
Vue.2.0.5实现Class 与 Style 绑定的实例
2017/06/20 Javascript
Node.js+ELK日志规范的实现
2019/05/23 Javascript
使用Vue 实现滑动验证码功能
2019/06/27 Javascript
解决微信小程序中的滚动穿透问题
2019/09/16 Javascript
vue登录以及权限验证相关的实现
2019/10/25 Javascript
NUXT SSR初级入门笔记(小结)
2019/12/16 Javascript
解决VantUI popup 弹窗不弹出或无蒙层的问题
2020/11/03 Javascript
[48:52]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第一局
2016/02/25 DOTA
基于Python实现文件大小输出
2016/01/11 Python
设计模式中的原型模式在Python程序中的应用示例
2016/03/02 Python
Python SQLite3数据库日期与时间常见函数用法分析
2017/08/14 Python
python抓取网页内容并进行语音播报的方法
2018/12/24 Python
运动会方阵解说词
2014/02/12 职场文书
《生命的药方》教学反思
2014/04/08 职场文书
乡镇八一建军节活动方案
2014/08/24 职场文书
个人四风问题原因分析及整改措施
2014/09/28 职场文书
班子群众路线教育实践个人对照检查材料思想汇报
2014/09/30 职场文书
捐款通知怎么写
2015/04/24 职场文书
二十年同学聚会致辞
2015/07/28 职场文书
记者节感言
2015/08/03 职场文书
企业愿景口号
2015/12/25 职场文书
2016年企业安全生产月活动总结
2016/04/06 职场文书
IIS服务器中设置HTTP重定向访问HTTPS
2022/04/29 Servers