基于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 相关文章推荐
屏蔽Flash右键信息的js代码
Jan 17 Javascript
JqGrid web打印实现代码
May 31 Javascript
Jquery之Ajax运用 学习运用篇
Sep 26 Javascript
js的hasownproperty使用示例
Mar 02 Javascript
js实现商品抛物线加入购物车特效
Nov 18 Javascript
去除html代码里面的script正则方法
May 19 Javascript
使用JS轻松实现ionic调用键盘搜索功能(超实用)
Sep 06 Javascript
原生JS简单实现ajax的方法示例
Nov 29 Javascript
JS实现重新加载当前页面或者父页面的几种方法
Nov 30 Javascript
最全的JavaScript开发工具列表 总有一款适合你
Jun 29 Javascript
使用Node.js写一个代码生成器的方法步骤
May 10 Javascript
解决qrcode.js生成二维码时必须定义一个空div的问题
Jul 09 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
使用JSON实现数据的跨域传输的php代码
2011/12/20 PHP
深入探讨:Nginx 502 Bad Gateway错误的解决方法
2013/06/03 PHP
PHP包含文件函数include、include_once、require、require_once区别总结
2014/04/05 PHP
PHP函数checkdnsrr用法详解(Windows平台用法)
2016/03/21 PHP
Js实现滚动变色的文字效果
2014/06/16 Javascript
使用delegate方法为一个tr标签加一个链接
2014/06/27 Javascript
jQuery窗口、文档、网页各种高度的精确理解
2014/07/02 Javascript
JQuery实现动态适时改变字体颜色的方法
2015/03/10 Javascript
JavaScript制作windows经典扫雷小游戏
2015/03/31 Javascript
JS构造函数与原型prototype的区别介绍
2016/07/04 Javascript
使用bootstrap typeahead插件实现输入框自动补全之问题及解决办法
2016/07/07 Javascript
ES6新特性一: let和const命令详解
2017/04/20 Javascript
HTML5开发Kinect体感游戏的实例应用
2017/09/18 Javascript
详解Vue前端对axios的封装和使用
2019/04/01 Javascript
Vue如何基于es6导入外部js文件
2020/05/15 Javascript
Vue Render函数创建DOM节点代码实例
2020/07/08 Javascript
PHP 502bad gateway原因及解决方案
2020/11/13 Javascript
python用模块zlib压缩与解压字符串和文件的方法
2016/12/16 Python
python 执行文件时额外参数获取的实例
2018/12/18 Python
Python实现KNN(K-近邻)算法的示例代码
2019/03/05 Python
python 的 scapy库,实现网卡收发包的例子
2019/07/23 Python
pycharm中显示CSS提示的知识点总结
2019/07/29 Python
tensorflow指定CPU与GPU运算的方法实现
2020/04/21 Python
css3实现小箭头各种图形效果
2020/07/08 HTML / CSS
CheapTickets泰国:廉价航班,查看促销价格并预订机票
2019/12/28 全球购物
荷兰家电购物网站:Expert.nl
2020/01/18 全球购物
光盘行动倡议书
2014/02/02 职场文书
2014年庆元旦活动方案
2014/02/15 职场文书
承诺书怎么写
2014/03/26 职场文书
求职信怎么写
2014/05/23 职场文书
晚自修旷课检讨书怎么写
2014/11/17 职场文书
模范教师材料大全
2014/12/16 职场文书
小班下学期幼儿评语
2014/12/30 职场文书
小学运动会加油稿
2015/07/22 职场文书
利用javaScript处理常用事件详解
2021/04/14 Javascript
深入理解redis中multi与pipeline
2021/06/02 Redis