Vue.js学习笔记—shop-bus:实战:利用计算属性、指令等知识开发购物车
参考《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:实战:利用计算属性、指令等知识开发购物车相关推荐
- Vue.js 学习笔记 四 用一,二,三的知识做个跑马灯
做个简单的跑马灯效果 页面定义2个按钮,绑定2个方法. <div id="divApp"><input type="button" value ...
- Vue.js学习笔记—sort-table:实战:使用Render函数开发可排序的表格组件
参考<Vue,js>实战(梁灏编著) sort-table:实战:使用Render函数开发可排序的表格组件 index.html <!DOCTYPE html> <htm ...
- Vue.js学习系列(二十七)-- 计算属性(一)
2019独角兽企业重金招聘Python工程师标准>>> 在模板中表达式非常便利,但是它们实际上只用于简单的操作.模板是为了描述视图的结构.在模板中放入太多的逻辑会让模板过重且难以维护 ...
- Vue.js 学习笔记 五 常用的事件修饰符
介绍几个常用的事件修饰符 直接上代码 <div id="divApp"><div class="divColor" v-on:click=&q ...
- Vue.js 学习笔记三,一些基础指令,v-bind,v-on
在笔记二的基础上继续写 v-bind指令,为属性绑定数据 <!--v-bind指令可以绑定属性--><div v-html="msg2" v-bind:title ...
- Vue.js学习笔记 2022 04 17
Vue.js学习笔记 1 Vue.js基础 Vue.js介绍 vuejs 渐进式 JavaScript 框架 Vue.js 如何应用 1 在普通html项目中,引入VUE.JS Hb 的项目 生成的 ...
- 遇见 vue.js --------阿文的vue.js学习笔记(8 —1)------- 列表渲染
** 新学习新征程,我们一起踏上学习 vue.js的新长征 遇见 vue.js --------阿文的vue.js学习笔记(1)-----初识vue.js 遇见 vue.js --------阿文的v ...
- Vue.js 学习笔记 第5章 内置指令
本篇目录: 5.1 基本指令 5.2 条件渲染指令 5.3 列表渲染指令 v-for 5.4 方法与事件 5.5 实战:利用计算属性.指令等知识开发购物车 回顾一下第2.2节,我们己经介绍过指令(Di ...
- Vue.js 学习笔记 十二 Vue发起Ajax请求
首先需要导入vue-resource.js,可以自己下载引入,也可以通过Nuget下载,它依赖于Vue.js. 全局使用方式: Vue.http.get(url,[options]).then(suc ...
最新文章
- python的HTML文件中使用和加载CSS文件
- cmake 常用变量和常用环境变量查表手册
- 运动皮层的树突状钙信号驱动光学脑机接口
- 健康心理要防八种“过度”
- java throw异常_java throw拋出异常详解
- jquery常用功能
- linux进程管理 pdf,高效与精细的结合--Linux的进程管理.pdf
- 一个div压在另一个div上面_【CSS小分享】用CSS画一个新拟态风格键盘
- Postman Forbidden (CSRF token missing or incorrect.)
- Chromedriver的安装
- Ubuntu16.04 下SU画图,批量和单个
- 推荐一款数据恢复软件EasyRecovery
- python如何用requests传送json格式数据
- 利用python将图片版PDF转文字版PDF
- 201871010114-李岩松《面向对象程序设计(java)》第四周学习总结
- 我们是怎么简单打开百度的?
- 【数据分析案例】从微信接龙中随机选择k名人员出席
- 时间序列分类算法之时间序列森林(TSF)
- 新媒体推广之今日头条
- 如何在ARM平台编译NAMD