基于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 相关文章推荐
jquery scrollTop方法根据滚动像素显示隐藏顶部导航条
May 27 Javascript
js获取当前页面路径示例讲解
Jan 08 Javascript
基于jQuery实现的无刷新表格分页实例
Feb 17 Javascript
jQuery中each()、find()和filter()等节点操作方法详解(推荐)
May 25 Javascript
jQuery实现 上升、下降、删除、添加一行代码
Mar 06 Javascript
简单谈谈关于 npm 5.0 的新坑
Jun 08 Javascript
微信JSAPI Ticket接口签名详解
Jun 28 Javascript
详解基于node.js的脚手架工具开发经历
Jan 28 Javascript
django简单的前后端分离的数据传输实例 axios
May 18 Javascript
逐行分析鸿蒙系统的 JavaScript 框架(推荐)
Sep 17 Javascript
Vue2项目中对百度地图的封装使用详解
Jun 16 Vue.js
js 实现Material UI点击涟漪效果示例
Sep 23 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常用的小程序代码段
2015/11/14 PHP
PHP基于openssl实现的非对称加密操作示例
2019/01/11 PHP
JavaScript replace(rgExp,fn)正则替换的用法
2010/03/04 Javascript
基于jquery的返回顶部效果(兼容IE6)
2011/01/17 Javascript
JavaScript ECMA-262-3 深入解析.第三章.this
2011/09/28 Javascript
关于jquery性能最佳实践的讨论,与求教
2012/03/30 Javascript
jQuery实现 注册时选择阅读条款 左右移动
2013/04/11 Javascript
js获取通过ajax返回的map型的JSONArray的方法
2014/01/09 Javascript
js如何调用qq互联api实现第三方登录
2014/03/28 Javascript
javascript的alert box在java中如何显示多行
2014/05/18 Javascript
jQuery实现滚动鼠标放大缩小图片的方法(附demo源码下载)
2016/03/05 Javascript
Nuxt.js实战详解
2018/01/18 Javascript
解决vue-cli项目webpack打包后iconfont文件路径的问题
2018/09/01 Javascript
Vue项目中最新用到的一些实用小技巧
2018/11/06 Javascript
使用Vue-cli3.0创建的项目 如何发布npm包
2019/10/10 Javascript
js实现的订阅发布者模式简单示例
2020/03/14 Javascript
微信小程序学习总结(三)条件、模板、文件引用实例分析
2020/06/04 Javascript
js实现星星打分效果
2020/07/05 Javascript
下载糗事百科的内容_python版
2008/12/07 Python
用Python生成器实现微线程编程的教程
2015/04/13 Python
python从sqlite读取并显示数据的方法
2015/05/08 Python
Python cx_freeze打包工具处理问题思路及解决办法
2016/02/13 Python
Python实现二分查找与bisect模块详解
2017/01/13 Python
scrapy爬虫实例分享
2017/12/28 Python
用Python调用win命令行提高工作效率的实例
2019/08/14 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
2019/09/10 Python
Python下应用opencv 实现人脸检测功能
2019/10/24 Python
使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法
2014/04/03 HTML / CSS
Room Mate Hotels美国:西班牙酒店品牌
2018/04/10 全球购物
婴儿地球:Baby Earth
2018/12/25 全球购物
演讲比赛获奖感言
2014/02/02 职场文书
个人作风建设剖析材料
2014/10/11 职场文书
环卫工作汇报材料
2014/10/28 职场文书
英文感谢信范文
2015/01/21 职场文书
教师节晚会主持词
2015/06/30 职场文书
各类场合主持词开场白范文集锦
2019/08/16 职场文书