vue实现添加购物车小球(Vue实现简易购物车案例)
类别:编程学习 浏览量:888
时间:2022-01-20 00:04:44 vue实现添加购物车小球
Vue实现简易购物车案例本文实例为大家分享了Vue实现简易购物车的具体代码,供大家参考,具体内容如下
先来看一下完成后的效果吧。
CSS 部分
这里没什么好说的,就是v-cloak 这一个知识点
table{ border: 1px solid #e9e9e9; border-collapse: collapse; border-spacing: 0; } th,td{ padding: 8px 16px; border: 1px solid #e9e9e9; text-align: center; } th{ background-color: #f7f7f7; color: #5c6b77; font-weight: 600; } [v-cloak]{ display: none; }
HTML部分
这里说明一些用到的一些Vue的知识点:
- v-if
- v-for
- v-cloak
- v-on > @
- v-bind > :
- 方法 methods
- 计算属性 computed
- 过滤器 filters
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>购物车</title> <link rel="stylesheet" href="style.css" > </head> <body> <li id="app" v-cloak> <li v-if="books.length"> <table> <thead> <tr> <th></th> <th>书籍名称</th> <th>出版日期</th> <th>价格</th> <th>购买数量</th> <th>删除</th> </tr> </thead> <tbody> <tr v-for="(item,index) in books"> <th>{{item.id}}</th> <th>{{item.name}}</th> <th>{{item.date}}</th> <!--方案一 保留小数点和货币符号--> <!-- <th>{{"¥"+item.price.toFixed(2)}}</th> --> <!--方案二--> <!-- <th>{{getFinalPrice(item.price)}}</th> --> <!--方案三--> <th>{{item.price | showPrice}}</th> <th> <button @click="decrement(index)" :disabled="item.count<=0">-</button> {{item.count}} <button @click="increment(index)">+</button> </th> <th><button @click="removeHandle(index)">移除</button></th> </tr> </tbody> </table> <h2>总价格:{{totalPrice | showPrice}}</h2> </li> <h2 v-else> 购物车为空 </h2> </li> </body> <script src="../js/vue.js"></script> <script src="main.js"></script> </html>
JS部分
const app = new Vue({ el:"#app", data:{ books:[ { id:1, name:"《算法导论》", date:'2006-9', price:85.00, count:1 }, { id:2, name:"《UNIX编程艺术》", date:'2006-2', price:50.00, count:1 }, { id:3, name:"《编程艺术》", date:'2008-10', price:39.00, count:1 }, { id:4, name:"《代码大全》", date:'2006-3', price:128.00, count:1 }, ] }, methods: { //这里我们放弃使用方法的形式来求总价格,转而使用计算属性,因为它的效率更高。 // getFinalPrice(price){ // return "¥"+price.toFixed(2) // }, increment(index){ this.books[index].count++ }, decrement(index){ this.books[index].count-- }, removeHandle(index){ this.books.splice(index,1); } }, computed: { totalPrice(){ // 方案一:普通的for循环 // let totalPrice = 0; // for(let i=0;i<this.books.length;i++){ // totalPrice += this.books[i].price * this.books[i].count // } // return totalPrice // 方案二:for in // let totalPrice = 0; // for(let i in this.books){ // // console.log(i);//1 2 3 4 // totalPrice += this.books[i].price * this.books[i].count // } // return totalPrice // 方案三:for of // let totalPrice = 0; // for(let item of this.books){ // // console.log(item);//这里拿到的就是数组里的每个对象 // totalPrice += item.price * item.count // } // return totalPrice // 方案四:reduce return this.books.reduce(function (preValue, book) { // console.log(book);//分别输出四个对象 return preValue + book.price * book.count }, 0) } }, // 过滤器 filters:{ showPrice(price){ return "¥"+price.toFixed(2) } } })
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
您可能感兴趣
- vue引入axios(vue封装axios的几种方法)
- vue本地图片切换(vue动态加载本地图片的处理方法)
- vue实现pc聊天页面(vue实现web在线聊天功能)
- vueaxios使用教程交流(Vue使用axios图片上传遇到的问题)
- vue调用组件内部的方法(Vue如何实现组件间通信)
- vue父组件怎么用子组件的数据(Vue使用v-model封装el-pagination组件的全过程)
- vue过滤器filters怎么用(如何使用vue过滤器filter)
- vue购物车怎么实现(Vue.js框架实现购物车功能)
- vue插槽实例(Vue中插槽slot的使用方法与应用场景详析)
- vue-router的安装(详解Vue-Router的安装与使用)
- vue怎么接收后台的数据(Vue封装全局toast组件的完整实例)
- vue获取图片并展示(vue卡片式点击切换图片组件使用详解)
- vue 计算一段时间的月份和天数(vue实现指定日期之间的倒计时)
- vue3 ref 的用法(Vue3中watchEffect的用途浅析)
- vueassets文件路径(vue如何根据url下载非同源文件)
- dockernginx服务器教程(Docker镜像+nginx 部署 vue 项目的方法)
- 怎么做好SEO(怎么做好seo内容优化)
- 冬季钓鱼子线用 长 还是 短(冬季钓鱼子线用)
- 鱼竿 夏钓短,冬钓长 ,一定是这样 认清优缺点在选竿(鱼竿夏钓短冬钓长)
- 鲢鳙钓底还是钓浮 流水的水域应怎样做钓(鲢鳙钓底还是钓浮)
- 入秋后的第二场苹果发布会来了 全新M1系列芯片登场(入秋后的第二场苹果发布会来了)
- 苹果正式发布自研芯片M1 5nm 32核心 彻底放弃Intel(苹果正式发布自研芯片M1)
热门推荐
- css代码大全登录界面(Div+CSS仿微信公众平台登录页面)
- angular兄弟组件调用方法(Angular封装WangEditor富文本组件的方法)
- 将Excel数据导入数据库
- css中margin什么意思(CSS margin全面了解)
- php获取数组中和为指定数的数组(php统计数组不同元素的个数的实例方法)
- C# File类的操作
- cssdisplay覆盖规律(css解决display:inline-block;产生的缝隙间隙的方法)
- dedecms操作方法(织梦Dedecms在循环列表中获取会员信息的方法)
- react的基本知识(React中refs的一些常见用法汇总)
- 阿里云主机Windows 2008 32位 64位自助正版激活图文教程(阿里云主机Windows 2008 32位 64位自助正版激活图文教程)