vue实现购物车选择功能


Posted in Javascript onJanuary 10, 2020

使用vue制作一个购物车功能,只是一个测试版本,注重的是功能实现,界面并没有做好,数据也是模拟数据等

vue实现购物车选择功能

不说那么多,直接上代码

<template>
 <div id="app">
 
 全选<input type="checkbox" v-model="checkall" @change="check_all()">
 <div v-for="(item,index) in mylist" :key="index">
  <span>{{item.oname}}</span><input type="checkbox" v-model="item.this_all" @change="check_list(index)">
  <p v-for="(goods,nindex) in item.newlist" :key="nindex">
  <input type="checkbox" v-model="goods.check_one" @change="click_input(index,nindex)">{{goods.newname}}--{{goods.price}}元
  </p>
  
 </div>
 <p>总价:{{allprice}}</p>
 <button @click="btn()">提交订单</button>
 
 </div>
</template>
 
<script>
export default {
 name: 'App',
 data(){
  return{
   mylist:[
    {oname:"第一个",this_all:true,newlist:[{newname:"篮球",check_one:true,price:600},{newname:"足球",check_one:true,price:200},{newname:"滑雪",check_one:true,price:150}]},
    {oname:"第二个",this_all:true,newlist:[{newname:"西瓜",check_one:true,price:35},{newname:"桃子",check_one:true,price:20}]},
    {oname:"第三个",this_all:true,newlist:[{newname:"英雄联盟",check_one:true,price:200}]},
 
   ],
   checkall:true,
   allprice:0,
   cpmylist:[]
  }
 },
 mounted:function(){
  this.money();
 },
 
 methods: {
 money:function(){
 var that = this;
 this.allprice=0;
 that.mylist.forEach(item1 =>{
  item1.newlist.forEach(item2 =>{
  if(item2.check_one==true){
   that.allprice+=item2.price;
  }
  })
 })
 
 },
 check_all:function(){
 var that = this;
 that.mylist.forEach(item1 => {
  item1.this_all=that.checkall
  item1.newlist.forEach(item2 => {
  item2.check_one=that.checkall
  })
 });
 that.money();
 },
 
 abc:function(){
 var that = this;
  var aaa = that.mylist.filter(item2 =>{
  return item2.this_all==true
 })
 aaa.length==that.mylist.length ? that.checkall = true : that.checkall = false
 that.money();
 },
 
 check_list:function(i){
 var that = this;
 that.mylist[i].newlist.forEach(item1 =>{
  item1.check_one=that.mylist[i].this_all
 })
 that.abc();
 
 },
 
 click_input:function(i,j){
 var that = this;
 var checklist = that.mylist[i].newlist.filter(item1 =>{
  return item1.check_one==true
 })
 
 checklist.length==that.mylist[i].newlist.length ? that.mylist[i].this_all = true : that.mylist[i].this_all = false
 that.abc();
 
 },
 
 btn:function(){
 var that = this; 
 
 
 that.cpmylist=JSON.parse(JSON.stringify(that.mylist));
 that.cpmylist.filter(item1 =>{
  item1.newlist = item1.newlist.filter(item2 =>{
  return item2.check_one==true
  })
 })
 that.cpmylist=that.cpmylist.filter(item3 =>{
  return item3.newlist.length!=0
 })
 
 if(that.cpmylist.length==0){
  alert("请选择商品哦!")
 }else{
 
  console.log("★★★您购买的商品是:");
  that.cpmylist.forEach(item4 =>{
  console.log("----------"+item4.oname+"店铺----------");
  item4.newlist.forEach(item5 =>{
   console.log("——>:"+item5.newname);
  })
  })
 }
 }
 },
 
}
</script>
 
<style>
#app {
 font-family: 'Avenir', Helvetica, Arial, sans-serif;
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
 text-align: center;
 color: #2c3e50;
 margin-top: 60px;
}
</style>

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

Javascript 相关文章推荐
一个很简单的办法实现TD的加亮效果.
Jun 29 Javascript
aspx中利用js实现确认删除代码
Jul 22 Javascript
从零开始学习jQuery (十) jQueryUI常用功能实战
Feb 23 Javascript
jQuery检测输入的字符串包含的中英文的数量
Apr 17 Javascript
JavaScript中字符串与Unicode编码互相转换的实现方法
Dec 18 Javascript
对jQuary选择器的全面总结
Jun 20 Javascript
微信小程序开发之大转盘 仿天猫超市抽奖实例
Dec 08 Javascript
TypeScript入门-基本数据类型
Mar 28 Javascript
JavaScript实现百度搜索框效果
Mar 26 Javascript
微信小程序冒泡事件及其阻止方法实例分析
Dec 06 Javascript
JavaScript实现简单贪吃蛇效果
Mar 09 Javascript
详解JavaScript执行模型
Nov 16 Javascript
webpack proxy 使用(代理的使用)
Jan 10 #Javascript
基于vue-draggable 实现三级拖动排序效果
Jan 10 #Javascript
bootstrap实现嵌套模态框的实例代码
Jan 10 #Javascript
jQuery操作动画完整实例分析
Jan 10 #jQuery
基于JavaScript判断两个对象内容是否相等
Jan 10 #Javascript
jQuery操作事件完整实例分析
Jan 10 #jQuery
jQuery操作元素追加内容示例
Jan 10 #jQuery
You might like
apache mysql php 源码编译使用方法
2012/05/03 PHP
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
2012/09/07 PHP
php技术实现加载字体并保存成图片
2015/07/27 PHP
PHP实现递归的三种方法
2020/07/04 PHP
js脚本学习 比较实用的基础
2006/09/07 Javascript
jQuery的一些注意
2006/12/06 Javascript
WEB页子窗口(showModalDialog和showModelessDialog)使用说明
2009/10/25 Javascript
购物车选中得到价格实现示例
2014/01/26 Javascript
JavaScript使用focus()设置焦点失败的解决方法
2014/09/03 Javascript
javascript中sort()的用法实例分析
2015/01/30 Javascript
JavaScript返回当前会话cookie全部键值对照的方法
2015/04/03 Javascript
如何解决ligerUI布局时Center中的Tab高度大小
2015/11/24 Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
2017/02/21 Javascript
JS实现点击链接切换显示隐藏内容的方法
2017/10/19 Javascript
vue和webpack项目构建过程常用的npm命令详解
2018/06/15 Javascript
微信小程序常用简易小函数总结
2019/02/01 Javascript
详解JavaScript作用域和作用域链
2019/03/19 Javascript
解决vue下载后台传过来的乱码流的问题
2020/12/05 Vue.js
[03:23]我的刀塔你不可能这么可爱 第一期金萌萌的故事
2014/06/20 DOTA
用于统计项目中代码总行数的Python脚本分享
2015/04/21 Python
Python正则表达式非贪婪、多行匹配功能示例
2017/08/08 Python
Python拼接微信好友头像大图的实现方法
2018/08/01 Python
Python 单元测试(unittest)的使用小结
2018/11/14 Python
详解Python装饰器
2019/03/25 Python
深入了解Python iter() 方法的用法
2019/07/11 Python
Python使用tkinter模块实现推箱子游戏
2019/10/08 Python
Python 自由定制表格的实现示例
2020/03/20 Python
Python函数默认参数常见问题及解决方案
2020/03/26 Python
python反扒机制的5种解决方法
2021/02/06 Python
js正则匹配markdown里的图片标签的实现
2021/03/24 Javascript
幼儿教育感言
2014/02/05 职场文书
我的梦想演讲稿
2014/04/30 职场文书
业务内勤岗位职责
2014/04/30 职场文书
小学生学习雷锋倡议书
2014/05/15 职场文书
邀请书模板
2015/02/02 职场文书
2016年春节慰问信息大全
2015/11/30 职场文书