基于Vuejs实现购物车功能


Posted in Javascript onAugust 02, 2016

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

html:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>我的vue购物车</title>
 <link rel="stylesheet" href="css/bootstrap.min.css">
 <link rel="stylesheet" href="css/style.css">
 <script src="js/vue.js"></script>
 <script src="js/data.js"></script>
</head>
<body>
 <div class="container">
 <template v-if="data.length">
 <h3>我的购物车:</h3>
 <div class="product">
 <div class="item">
 <span class="btn btn-default">商品名称</span>
 <span class="btn btn-default left">商品单价</span>
 <span class="btn btn-default left">商品数量</span>
 <span class="btn btn-default left">操作</span>
 </div>
 <div class="item" style="padding:5%;border: 1px solid black" v-for="item in data">
 <span class="btn btn-default">{{item.name}}</span>
 <span class="btn btn-default left" style="margin-left: 18%">{{item.price}}</span>
 <span>
 <em class="btn btn-primary add" v-on:click="add($index)" :class="{off:item.count==11}">+</em>
  {{item.count}}
 <em class="btn btn-primary reduce" v-on:click="reduce($index)" :class="{off:item.count==1}">-</em>
 </span>
 <span class="btn btn-danger left" v-on:click="remove(item)">移除</span>
 </div>
 </div>
 <h2>清单:</h2>
 <span class="btn btn-primary">商品总价:{{price |currency '$' 2}}</span>
 </template>
 <template v-else>
 <div class="jumbotron">
 <h1>您的购物车空了</h1>
 <p>是否去重新挑选</p>
 <p><a class="btn btn-primary btn-lg" href="#" role="button">重新挑选</a></p>
 </div>
 </template>
 </div>
</body>
<script>
 new Vue({
 el:'.container',
 data:{
 data:data
 },
 computed:{
 price:function () {
 var price = 0;
 for(var i=0;i<this.data.length;i++){
 var self = this.data[i];
 price += self.count * self.price;
 }
 return price;
 }
 },
 methods:{
 add:function ($index) {
 var self = this.data[$index];
 if(self.count >10){
 return false;
 }
 self.count++;
 },
 reduce:function($index){
 var self = this.data[$index];
 if(self.count <= 1){
 return false
 }
 self.count--;
 },
 remove:function(item){
 this.data.$remove(item);
 }
 }
 })
</script>
</html>

css:

h3{
 text-align: center;
}
.left{
 margin-left: 14%;
}
.item{
 text-align: center;
 padding: 3%;
}
.add{
 margin-left: 15%;
}
.off{
 background-color: lightgrey;
 border: 1px solid lightgrey;
}

 js: 

/**
 * Created by Administrator on 2016/7/29.
 */
var data = [
 {
 name:'IPhone 6',
 price:5466,
 id:1,
 count:1
 },
 {
 name:'IMac',
 price:7466,
 id:2,
 count:1
 },
 {
 name:'iPad',
 price:5400,
 id:3,
 count:1
 }
]

本文已被整理到了《Vue.js前端组件学习教程》,欢迎大家学习阅读。

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

更多vue学习教程请阅读专题《vue实战教程》

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

Javascript 相关文章推荐
JavaScript与函数式编程解释
Apr 27 Javascript
javascript跨域刷新实现代码
Jan 01 Javascript
javascript学习基础笔记之DOM对象操作
Nov 03 Javascript
js 判断上传文件大小及格式代码
Nov 13 Javascript
深入理解JQuery keyUp和keyDown的区别
Dec 12 Javascript
JQuery中$.ajax()方法参数详解及应用
Dec 12 Javascript
vue-router 导航钩子的具体使用方法
Aug 31 Javascript
解决vue组件中使用v-for出现告警问题及v for指令介绍
Nov 11 Javascript
React-Router如何进行页面权限管理的方法
Dec 06 Javascript
js实现课堂随机点名系统
Nov 21 Javascript
JS实现前端路由功能示例【原生路由】
May 29 Javascript
利用uni-app生成微信小程序的踩坑记录
Apr 05 Javascript
js实现统计字符串中特定字符出现个数的方法
Aug 02 #Javascript
js简单时间比较的方法
Aug 02 #Javascript
JavaScript简单获取系统当前时间完整示例
Aug 02 #Javascript
JS实现将Asp.Net的DateTime Json类型转换为标准时间的方法
Aug 02 #Javascript
关于微信中a链接无法跳转问题
Aug 02 #Javascript
js实现的页面加载完毕之前loading提示效果完整示例【附demo源码下载】
Aug 02 #Javascript
常用的js验证和数据处理总结
Aug 02 #Javascript
You might like
PHP file_exists问题杂谈
2012/05/07 PHP
PHP中JSON的应用技巧
2015/10/10 PHP
php基于curl重写file_get_contents函数实例
2016/11/08 PHP
php 中htmlentities导致中文无法查询问题
2018/09/10 PHP
UpdatePanel和Jquery冲突的解决方法
2013/04/01 Javascript
jQuery实现复选框全选/取消全选/反选及获得选择的值
2014/06/12 Javascript
js获取当前页面的url网址信息
2014/06/12 Javascript
JS实现文字放大效果的方法
2015/03/03 Javascript
JavaScript判断数组是否包含指定元素的方法
2015/07/01 Javascript
深入浅析同源策略和跨域访问
2015/11/26 Javascript
JS 对象(Object)和字符串(String)互转方法
2016/05/20 Javascript
使用jQuery制作Web页面遮罩层插件的实例教程
2016/05/26 Javascript
JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题如何解决
2016/11/11 Javascript
简单实现js浮动框
2016/12/13 Javascript
Bootstrap页面缩小变形的快速解决办法
2017/02/03 Javascript
简单介绍react redux的中间件的使用
2018/04/06 Javascript
详解CommonJS和ES6模块循环加载处理的区别
2018/12/26 Javascript
微信小程序项目总结之记账小程序功能的实现(包括后端)
2019/08/20 Javascript
vue 组件间的通信之子组件向父组件传值的方式
2020/07/29 Javascript
javascript canvas封装动态时钟
2020/09/30 Javascript
js实现复制粘贴的两种方法
2020/12/04 Javascript
Python实现二分查找算法实例
2015/05/26 Python
python脚本监控docker容器
2016/04/27 Python
Flask框架的学习指南之开发环境搭建
2016/11/20 Python
pytorch 常用线性函数详解
2020/01/15 Python
Python如何操作office实现自动化及win32com.client的运用
2020/04/01 Python
10个示例带你掌握python中的元组
2020/11/23 Python
pandas实现导出数据的四种方式
2020/12/13 Python
.net面试题
2015/12/22 面试题
经典优秀毕业生求职信范文分享
2013/12/18 职场文书
班级德育工作实施方案
2014/02/21 职场文书
倡议书范文格式
2014/05/12 职场文书
升职演讲稿范文
2014/05/23 职场文书
2016幼儿教师自荐信范文
2016/01/28 职场文书
解决Tkinter中button按钮未按却主动执行command函数的问题
2021/05/23 Python
CSS布局之浮动(float)和定位(position)属性的区别
2021/09/25 HTML / CSS