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实现图书管理小案例
Dec 03 Vue.js
vue中如何自定义右键菜单详解
Dec 08 Vue.js
vue使用element-ui实现表单验证
Dec 13 Vue.js
vue3自定义dialog、modal组件的方法
Jan 04 Vue.js
vuex的使用步骤
Jan 06 Vue.js
vue 组件基础知识总结
Jan 26 Vue.js
vue浏览器返回监听的具体步骤
Feb 03 Vue.js
vue项目配置 webpack-obfuscator 进行代码加密混淆的实现
Feb 26 Vue.js
Vue SPA 首屏优化方案
Feb 26 Vue.js
vue首次渲染全过程
Apr 21 Vue.js
vue二维数组循环嵌套方式 循环数组、循环嵌套数组
Apr 24 Vue.js
vue实现登陆页面开发实践
May 30 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
Yii框架中memcache用法实例
2014/12/03 PHP
Symfony2实现在doctrine中内置数据的方法
2016/02/05 PHP
Zend Framework框架路由机制代码分析
2016/03/22 PHP
php自定义函数实现JS的escape的方法示例
2016/07/07 PHP
用JQuery 实现AJAX加载XML并解析的脚本
2009/07/25 Javascript
一个简单的jQuery插件制作 学习过程及实例
2010/04/25 Javascript
JavaScript高级程序设计阅读笔记(五) ECMAScript中的运算符(一)
2012/02/27 Javascript
利用JS延迟加载百度分享代码,提高网页速度
2013/07/01 Javascript
jQuery照片伸缩效果不影响其他元素的布局
2014/05/09 Javascript
JQuery实现动态表格点击按钮表格增加一行
2014/08/24 Javascript
jQuery定义背景动态切换效果的方法
2015/03/23 Javascript
javascript删除数组重复元素的方法汇总
2015/06/24 Javascript
jQuery Validation PlugIn的使用方法详解
2015/12/18 Javascript
javascript实现瀑布流加载图片原理
2016/02/02 Javascript
前端js实现文件的断点续传 后端PHP文件接收
2016/10/14 Javascript
jquery hover 不停闪动问题的解决方法(亦为stop()的使用)
2017/02/10 Javascript
基于vue.js轮播组件vue-awesome-swiper实现轮播图
2017/03/17 Javascript
JS禁止浏览器右键查看元素或按F12审查元素自动关闭页面示例代码
2017/09/07 Javascript
vuex存储复杂参数(如对象数组等)刷新数据丢失的解决方法
2019/11/05 Javascript
vue 解除鼠标的监听事件的方法
2019/11/13 Javascript
详解Typescript里的This的使用方法
2021/01/08 Javascript
[02:43]中国五虎出征TI3视频
2013/08/02 DOTA
Python创建xml的方法
2015/03/10 Python
Python解惑之True和False详解
2017/04/24 Python
Python 通过requests实现腾讯新闻抓取爬虫的方法
2019/02/22 Python
Spring @Enable模块驱动原理及使用实例
2020/06/23 Python
html5录音功能实战示例
2019/03/25 HTML / CSS
在c#中using和new这两个关键字有什么意义
2013/05/19 面试题
大学生最常用的自我评价
2013/12/07 职场文书
绿色出行口号
2014/06/18 职场文书
护士节演讲稿开场白
2014/08/25 职场文书
大三学生学年自我鉴定
2014/09/12 职场文书
2016教师节感恩话语
2015/12/09 职场文书
关于企业的执行力标语大全
2020/01/06 职场文书
python基于tkinter制作m3u8视频下载工具
2021/04/24 Python
详解Vue的sync修饰符
2021/05/15 Vue.js