• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >vue > 基于Vuejs实现购物车功能

基于Vuejs实现购物车功能

作者:前端小菜bi 字体:[增加 减小] 来源:互联网 时间:2017-05-30

本文主要包含vuejs购物车,vuejs,vuejs官网,vuejs教程,vuejs视频教程等相关知识,前端小菜bi 希望在学习及工作中可以帮助到您

本文实例为大家分享了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> 
</div>

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;
}
</div>

 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
 }
]
</div>

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

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

</div>

您可能想查找下面的文章:

  • 基于Vuejs实现购物车功能

相关文章

  • 2017-05-30vue动态组件实现选项卡切换效果
  • 2017-05-30vue2 前后端分离项目ajax跨域session问题解决方法
  • 2017-05-30Vue.js 2.0 移动端拍照压缩图片预览及上传实例
  • 2017-05-30很棒的vue弹窗组件
  • 2017-05-30用v-html解决Vue.js渲染中html标签不被解析的问题
  • 2017-05-30Vue.js每天必学之内部响应式原理探究
  • 2017-05-30Vue.js学习教程之列表渲染详解
  • 2017-05-30vue实现动态数据绑定
  • 2017-05-30Vue.js事件处理器与表单控件绑定详解
  • 2017-05-30Vue.js tab实现选项卡切换

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • Vuejs第十一篇组件之slot内容分发实例详解
    • vue.js中$watch的用法示例
    • vue2.0多条件搜索组件使用详解
    • Vue 短信验证码组件开发详解
    • Vue通过input筛选数据
    • Vue form 表单提交+ajax异步请求+分页效果
    • Vue.js实现无限加载与分页功能开发
    • Vue2.0使用过程常见的一些问题总结学习
    • vue.js的提示组件
    • vue2.0组件之间的通信

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有