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的mixin策略
Nov 19 Vue.js
详解Vue3 Teleport 的实践及原理
Dec 02 Vue.js
如何正确解决VuePress本地访问出现资源报错404的问题
Dec 03 Vue.js
Vue实现简单购物车功能
Dec 13 Vue.js
Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法
Dec 25 Vue.js
梳理一下vue中的生命周期
Dec 30 Vue.js
vue+vant 上传图片需要注意的地方
Jan 03 Vue.js
vue实现按钮切换图片
Jan 20 Vue.js
如何使用vue3打造一个物料库
May 08 Vue.js
vue实现滑动解锁功能
Mar 03 Vue.js
vue打包时去掉所有的console.log
Apr 10 Vue.js
vue实现登陆页面开发实践
May 30 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版(3)
2006/10/09 PHP
刚才在简化php的库,结果发现很多东西
2006/12/31 PHP
用PHP实现弹出消息提示框的两种方法
2013/12/17 PHP
jquery 入门教程 [翻译] 推荐
2009/08/17 Javascript
jQuery建立一个按字母顺序排列的友好页面索引(兼容IE6/7/8)
2013/02/26 Javascript
script标签属性用type还是language
2015/01/21 Javascript
JavaScript判断浏览器类型的方法
2015/02/10 Javascript
有关jquery与DOM节点操作方法和属性记录
2016/04/15 Javascript
JS获取鼠标选中的文字
2016/08/10 Javascript
jquery弹出框插件jquery.ui.dialog用法分析
2016/08/20 Javascript
js滚轮事件兼容性问题需要注意哪些
2016/11/15 Javascript
移动端js图片查看器
2016/11/17 Javascript
node.js中express-session配置项详解
2017/05/31 Javascript
[js高手之路]从原型链开始图解继承到组合继承的产生详解
2017/08/28 Javascript
JavaScript数据结构与算法之二叉树插入节点、生成二叉树示例
2019/02/21 Javascript
JavaScript面试中常考的字符串操作方法大全(包含ES6)
2020/05/10 Javascript
Python Web框架Flask中使用七牛云存储实例
2015/02/08 Python
详解Python的Django框架中的模版继承
2015/07/16 Python
Python第三方库的安装方法总结
2016/06/06 Python
老生常谈Python序列化和反序列化
2017/06/28 Python
Python基于回溯法子集树模板解决取物搭配问题实例
2017/09/02 Python
Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例
2018/06/09 Python
python使用pandas处理大数据节省内存技巧(推荐)
2019/05/05 Python
手把手教你Python yLab的绘制折线图的画法
2019/10/23 Python
Python实现平行坐标图的绘制(plotly)方式
2019/11/22 Python
PyTorch 解决Dataset和Dataloader遇到的问题
2020/01/08 Python
python 对xml解析的示例
2021/02/27 Python
澳大利亚牛仔裤商店:Just Jeans
2016/10/13 全球购物
美国修容界大佬创建的个人美妆品牌:Kevyn Aucoin Beauty
2018/12/12 全球购物
接口的多继承会带来哪些问题
2015/08/17 面试题
医学毕业生自荐信
2013/10/11 职场文书
服务标语口号
2014/07/01 职场文书
政风行风评议个人心得体会
2014/10/29 职场文书
详解Python小数据池和代码块缓存机制
2021/04/07 Python
Win10鼠标轨迹怎么开 Win10显示鼠标轨迹方法
2022/04/06 数码科技
分享五个Node.js开发的优秀实践 
2022/04/07 NodeJs