Vue实现小购物车功能


Posted in Vue.js onDecember 21, 2020

本文实例为大家分享了Vue实现小购物车功能的具体代码,供大家参考,具体内容如下

本人还在初级学习阶段,有很多不足之处,希望能指出错误,一起进步

HTML代码块

<body>
 <div id="app">
 <div 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="(itme,index) in books">
   <td>{{itme.id}}</td>
   <td>{{itme.name}}</td>
   <td>{{itme.date}}</td>
   <!-- showPrice过滤器 -->
   <td>{{itme.price | showPrice}}</td>
   <td>
   <!-- 动态绑定disabled,当数量小于1时 禁止点击按钮-->
   <button @click="decrement(index)" :disabled="itme.count <= 1">-</button>
   {{itme.count}}
   <button @click="increment(index)">+</button>
   </td>
   <td><button @click="Handle(index)">移除</button></td>
  </tr>
  </tbody>
 </table>
 <h2>总价格:{{totalPrice | showPrice}}</h2>
 </div>
 <h2 v-else>购物车为空</h2>
 </div>
</body>

css代码块

table{
 border: 1px solid #e9e9e9;
 border-collapse: collapse;
 border-spacing: 0;
}
th,td{
 padding: 8px 16px;
 border: 1px solid #e9e9e9;
 text-align: left;
}
th{
 background: #f7f7f7;
 color: #5c6b77;
 font-weight: 600;
}

Vue.js代码块

const app = new Vue({
 el:'#app',
 data:{
 books:[
  { 
  
  id:1,
  name:'《算法议论》',
  date:'2001-1',
  price:85.00,
  count:1
 },
 { 
  id:2,
  name:'《编程珠玑》',
  date:'2002-1',
  price:65.00,
  count:1
 },
 { 
  id:3,
  name:'《Unix编程艺术》',
  date:'2000-1',
  price:59.00,
  count:1
 },
 { 
  id:4,
  name:'《代码大全》',
  date:'2005-1',
  price:135.00,
  count:1
 },
 ]
 },

 /**
 * 使用普通方法
 */
 methods:{
 //获取小数点的方法
 // getFinalPrice(price){
 // return '¥' + price.toFixed(2);
 // }

 //点击事件
 increment(index){
  this.books[index].count++;
 },
 decrement(index){
  this.books[index].count--;
 },
 Handle(index){
  this.books.splice(index,1);
 }
 },
 computed:{
 totalPrice(){
  let totalPrice = 0;
  for(let i = 0; i < this.books.length; i++){
  totalPrice += this.books[i].price * this.books[i].count;
  }
  return totalPrice;
 }
 },
 /**
 * 使用过滤器获取小数点
 */
 filters:{
 showPrice(price){
  return '¥' + price.toFixed(2);
 }
 }
})

效果如图:

Vue实现小购物车功能

还有很多不足之处,希望大家能指出。

关于vue.js的学习教程,请大家点击专题vue.js组件学习教程、Vue.js前端组件学习教程进行学习。

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

Vue.js 相关文章推荐
vue实现图片裁剪后上传
Dec 16 Vue.js
Vue实现手机号、验证码登录(60s禁用倒计时)
Dec 19 Vue.js
Vue组件简易模拟实现购物车
Dec 21 Vue.js
vue编写简单的购物车功能
Jan 08 Vue.js
vue使用lodop打印控件实现浏览器兼容打印的方法
Feb 07 Vue.js
详解vite+ts快速搭建vue3项目以及介绍相关特性
Feb 25 Vue.js
Vue SPA 首屏优化方案
Feb 26 Vue.js
解读Vue组件注册方式
May 15 Vue.js
详解Vue中$props、$attrs和$listeners的使用方法
Feb 18 Vue.js
Vue.js中v-bind指令的用法介绍
Mar 13 Vue.js
vue3使用vuedraggable实现拖拽功能
Apr 06 Vue.js
vue实现Toast组件轻提示
Apr 10 Vue.js
vue监听滚动事件的方法
Dec 21 #Vue.js
vue el-upload上传文件的示例代码
Dec 21 #Vue.js
vue 在单页面应用里使用二级套嵌路由
Dec 19 #Vue.js
vue中如何添加百度统计代码
Dec 19 #Vue.js
vue 导航守卫和axios拦截器有哪些区别
Dec 19 #Vue.js
Vue——解决报错 Computed property &quot;****&quot; was assigned to but it has no setter.
Dec 19 #Vue.js
Vue实现手机号、验证码登录(60s禁用倒计时)
Dec 19 #Vue.js
You might like
推荐php模板技术[转]
2007/01/04 PHP
php中邮箱地址正则表达式实现与详解
2012/04/24 PHP
php绘图之加载外部图片的方法
2015/01/24 PHP
在Linux系统下一键重新安装WordPress的脚本示例
2015/06/30 PHP
用prototype实现的简单小巧的多级联动菜单
2007/03/24 Javascript
用js实现键盘方向键翻页功能的代码
2007/06/03 Javascript
JQ获取动态加载的图片大小的正确方法分享
2013/11/08 Javascript
使用JavaScript的AngularJS库编写hello world的方法
2015/06/23 Javascript
JavaScript中利用各种循环进行遍历的方式总结
2015/11/10 Javascript
拥Bootstrap入怀——导航栏篇
2016/05/30 Javascript
Bootstrap三种表单布局的使用方法
2016/06/21 Javascript
WEB 前端开发中防治重复提交的实现方法
2016/10/26 Javascript
如何提高数据访问速度
2016/12/26 Javascript
URL中“#” “?” &amp;“”号的作用浅析
2017/02/04 Javascript
JavaWeb表单及时验证功能在输入后立即验证(含用户类型,性别,爱好...的验证)
2017/06/09 Javascript
JQuery EasyUI 结合ztrIee的后台页面开发实例
2017/09/01 jQuery
Vue-Router实现组件间跳转的三种方法
2017/11/07 Javascript
angular2实现统一的http请求头方法
2018/08/13 Javascript
vue点击当前路由高亮小案例
2019/09/26 Javascript
jQuery 动画与停止动画效果实例详解
2020/05/19 jQuery
Python求算数平方根和约数的方法汇总
2016/03/09 Python
Python中的集合介绍
2019/01/28 Python
使用django的objects.filter()方法匹配多个关键字的方法
2019/07/18 Python
Python空间数据处理之GDAL读写遥感图像
2019/08/01 Python
python读取指定字节长度的文本方法
2019/08/27 Python
OpenCV 表盘指针自动读数的示例代码
2020/04/10 Python
Windows环境下Python3.6.8 importError: DLLload failed:找不到指定的模块
2020/11/01 Python
css3media响应式布局实例
2016/07/08 HTML / CSS
阿联酋网上花店:Ferns N Petals
2018/02/14 全球购物
澳大利亚运动鞋商店:Platypus Shoes
2019/09/27 全球购物
北大自主招生自荐信
2015/03/04 职场文书
公司放假通知范文
2015/04/14 职场文书
幼师自荐信范文(2016推荐篇)
2016/01/28 职场文书
周一早安温馨问候祝福语!
2019/07/15 职场文书
vue首次渲染全过程
2021/04/21 Vue.js
nginx实现动静分离的方法示例
2021/11/07 Servers