参考《Vue,js》实战(梁灏编著)

shop-bus:实战:利用计算属性、指令等知识开发购物车

git代码地址
index.html

<!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" type="text/css" href="style.css">
</head>
<body><!-- v-cloak解决初始化慢导致页面闪动的方法 --><div id="app" v-cloak><template v-if="list.length"><table><thead><tr><th></th><th>商品名称</th><th>商品单价</th><th>购买数量</th><th>操作</th></tr></thead><tbody><tr v-for="(item,index) in list"><td>{{index+1}}</td><td>{{item.name}}</td><td>{{item.price}}</td><td><button @click="handleReduce(index)":disabled="item.count === 1">-</button>{{item.count}}<button @click="handleAdd(index)">+</button></td><td><button @click="handleRemove(index)">移除</button></td></tr></tbody></table><div>总价:¥ {{totalPrice}}</div></template><div v-else>购物车为空</div></div><script src="https://unpkg.com/vue/dist/vue.min.js"></script><script src="index.js"></script>
</body>
</html>

index.js

var app = new Vue({el: '#app',data:{list:[{id:1,name: 'iPhone 7',price: 6188,count:1},{id:2,name: 'iPad Pro',price: 5888,count:1},{id:3,name: 'MacBook Pro',price: 21488,count:1}]},computed:{totalPrice:function(){var total = 0;for(var i=0;i<this.list.length;i++){var item = this.list[i];total+=item.price * item.count;}return total.toString().replace(/\B(?=(\d{3})+$)/g,',');}},methods:{handleReduce:  function(index){if(this.list[index].count === 1) return;this.list[index].count--;},handleAdd: function(index){this.list[index].count++;},handleRemove: function(index){this.list.splice(index,1);}}
})

style.css

[v-cloak]{display: none;
}
table{border: 1px solid #e9e9e9;border-collapse: collapse;border-spacing: 0;empty-cells: show;
}
th, td{padding: 8px 16px;border: 1px solid #e9e9e9;text-align: left;
}
th{background: #f7f7f7;color: #5c6b77;font-weight: 600;white-space: nowrap;
}

Vue.js学习笔记—shop-bus:实战:利用计算属性、指令等知识开发购物车相关推荐

  1. Vue.js 学习笔记 四 用一,二,三的知识做个跑马灯

    做个简单的跑马灯效果 页面定义2个按钮,绑定2个方法. <div id="divApp"><input type="button" value ...

  2. Vue.js学习笔记—sort-table:实战:使用Render函数开发可排序的表格组件

    参考<Vue,js>实战(梁灏编著) sort-table:实战:使用Render函数开发可排序的表格组件 index.html <!DOCTYPE html> <htm ...

  3. Vue.js学习系列(二十七)-- 计算属性(一)

    2019独角兽企业重金招聘Python工程师标准>>> 在模板中表达式非常便利,但是它们实际上只用于简单的操作.模板是为了描述视图的结构.在模板中放入太多的逻辑会让模板过重且难以维护 ...

  4. Vue.js 学习笔记 五 常用的事件修饰符

    介绍几个常用的事件修饰符 直接上代码 <div id="divApp"><div class="divColor" v-on:click=&q ...

  5. Vue.js 学习笔记三,一些基础指令,v-bind,v-on

    在笔记二的基础上继续写 v-bind指令,为属性绑定数据 <!--v-bind指令可以绑定属性--><div v-html="msg2" v-bind:title ...

  6. Vue.js学习笔记 2022 04 17

    Vue.js学习笔记 1 Vue.js基础 Vue.js介绍 vuejs 渐进式 JavaScript 框架 Vue.js 如何应用 1 在普通html项目中,引入VUE.JS Hb 的项目 生成的 ...

  7. 遇见 vue.js --------阿文的vue.js学习笔记(8 —1)------- 列表渲染

    ** 新学习新征程,我们一起踏上学习 vue.js的新长征 遇见 vue.js --------阿文的vue.js学习笔记(1)-----初识vue.js 遇见 vue.js --------阿文的v ...

  8. Vue.js 学习笔记 第5章 内置指令

    本篇目录: 5.1 基本指令 5.2 条件渲染指令 5.3 列表渲染指令 v-for 5.4 方法与事件 5.5 实战:利用计算属性.指令等知识开发购物车 回顾一下第2.2节,我们己经介绍过指令(Di ...

  9. Vue.js 学习笔记 十二 Vue发起Ajax请求

    首先需要导入vue-resource.js,可以自己下载引入,也可以通过Nuget下载,它依赖于Vue.js. 全局使用方式: Vue.http.get(url,[options]).then(suc ...

最新文章

  1. python的HTML文件中使用和加载CSS文件
  2. cmake 常用变量和常用环境变量查表手册
  3. 运动皮层的树突状钙信号驱动光学脑机接口
  4. 健康心理要防八种“过度”
  5. java throw异常_java throw拋出异常详解
  6. jquery常用功能
  7. linux进程管理 pdf,高效与精细的结合--Linux的进程管理.pdf
  8. 一个div压在另一个div上面_【CSS小分享】用CSS画一个新拟态风格键盘
  9. Postman Forbidden (CSRF token missing or incorrect.)
  10. Chromedriver的安装
  11. Ubuntu16.04 下SU画图,批量和单个
  12. 推荐一款数据恢复软件EasyRecovery
  13. python如何用requests传送json格式数据
  14. 利用python将图片版PDF转文字版PDF
  15. 201871010114-李岩松《面向对象程序设计(java)》第四周学习总结
  16. 我们是怎么简单打开百度的?
  17. 【数据分析案例】从微信接龙中随机选择k名人员出席
  18. 时间序列分类算法之时间序列森林(TSF)
  19. 新媒体推广之今日头条
  20. 如何在ARM平台编译NAMD

热门文章

  1. 【算法竞赛从入门到精通】【基础算法】
  2. 今日头条用户文章标题及详情页爬取
  3. 什么是HashTable?HashMap和HashTable的区别
  4. 【林达华】How To Get A Solution
  5. Elasticsearch 未授权访问漏洞验证及修复
  6. 性能测试测试方案总结
  7. js动画——图片轮播
  8. C语言100道经典例题
  9. Oracle数据库学习基础
  10. 计算错误可以用计算机ac,计算器AC是什么键?