vue.js购物车
vue.js
https://cn.vuejs.org/v2/guide/
简单购物车
<html> <head>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<style>
table {
border: 1px solid black;
} table {
width: 100%; border-spacing: 0;
} th {
background-color: #ddd;
} th,
td {
border-bottom: 1px solid #ddd;height: 50px;text-align:center;
} .red {
color: red
} .green {
color: green
}
</style>
</head> <body>
<div id="app">
<table>
<tr>
<th>序号</th>
<th>商品名称</th>
<th>商品价格</th>
<th>购买数量</th>
<th>操作</th>
</tr>
<tr v-for="iphone in PJson">
<td>{{ iphone.id }}</td>
<td>{{ iphone.name }}</td>
<td class="red">¥{{ iphone.price }}</td>
<td>
<button v-bind:disabled="iphone.count == 1" v-on:click="iphone.count-=1" v-bind:class="{green:iphone.count>1,red:iphone.count==1}">-</button>
{{ iphone.count }}
<button v-bind:disabled="iphone.count == 9" v-on:click="iphone.count+=1" v-bind:class="getBtnClass(iphone.count)">+</button>
</td>
<td>
<button v-on:click="del($index)">移除</button>
</td>
</tr>
</table>
<p>
说明:满100包邮,每个商品限购9件
</p>
<p>
<span class="red">总价:¥{{totalPrice()}}</span>
<span class="green" v-if="totalPrice()>0" v-show="youfei>0">(含邮费¥{{youfei}})</span>
<span class="green" v-show="youfei==0">(包邮)</span>
</p> </div> <script>
var app = new Vue({
el: '#app',
data: {
youfei: 10,
PJson: [
{
id: 1,
name: 'iphone1',
price: 10,
count: 1
},
{
id: 2,
name: 'iphone2',
price: 20,
count: 1
},
{
id: 3,
name: 'iphone3',
price: 30,
count: 1
}] },
computed: {
//写在methods里也可以的
getBtnClass(){
return function(num)
{
return{green:num<9,red:num==9}
}
}
},
/*computed: {
youhui:function(){
return 100
}
},*/
methods: {
del: function (ii) {
this.PJson.splice(ii, 1);
},
totalPrice: function () {
var totalP = 0;
for (var i = 0, len = this.PJson.length; i < len; i++) {
totalP += this.PJson[i].price * this.PJson[i].count;
}
if (totalP >= 100) {
this.youfei = 0
} else {
this.youfei = 10
}
if (totalP > 0) {
return totalP + this.youfei;
}
return 0;
},
getBtnClass2:function(num)
{
return{green:num<9,red:num==9}
} }
})</script>
</body> </html>
vue.js购物车的更多相关文章
- vue.js移动端app实战3:从一个购物车入门vuex
什么是vuex? 官方的解释是:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化. 简单来说就 ...
- vue.js实战——升级版购物车
HTML: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...
- vue.js实战——购物车练习(包含全选功能)
vue.js实战第5章 54页的练习1 直接放代码好了,全选的部分搞了好久,代码好像有点啰嗦,好在实现功能了(*^▽^*) HTML: <!DOCTYPE html> <html l ...
- 非node环境下的vue.js 实现简单的购物车计算功能 样式请无视
都说vue的双向数据绑定好用,自己用了下,感觉做购物车没想象中好用.自己的实现如下: <!DOCTYPE html> <html lang="en"> &l ...
- vue.js实现购物车功能
购物车是电商必备的功能,可以让用户一次性购买多个商品,常见的购物车实现方式有如下几种: 1. 用户更新购物车里的商品后,页面自动刷新. 2. 使用局部刷新功能,服务器端返回整个购物车的页面html 3 ...
- 用vue.js实现购物车功能
购物车是电商必备的功能,可以让用户一次性购买多个商品,常见的购物车实现方式有如下几种: 1. 用户更新购物车里的商品后,页面自动刷新. 2. 使用局部刷新功能,服务器端返回整个购物车的页面html 3 ...
- 窥探Vue.js 2.0
title: 窥探Vue.js2.0 date: 2016-09-27 10:22:34 tags: vue category: 技术总结 --- 窥探Vue.js2.0 令人兴奋的Vue.js 2. ...
- vue.js+boostrap最佳实践
一.为什么要写这篇文章 最近忙里偷闲学了一下vue.js,同时也复习了一下boostrap,发现这两种东西如果同时运用到一起,可以发挥很强大的作用,boostrap优雅的样式和丰富的组件使得页面开发变 ...
- vue.js+boostrap
vue.js+boostrap最佳实践 一.为什么要写这篇文章 最近忙里偷闲学了一下vue.js,同时也复习了一下boostrap,发现这两种东西如果同时运用到一起,可以发挥很强大的作用,boostr ...
随机推荐
- 【C#】获取URL上的参数
图是不知道什么时候截的,给不了原链接了QAQ
- Axis2部署后服务器端出现异常信息
客户端可以正常调用Web Service,但服务端控制台报出如下异常:2013-09-05 09:49:12,965:[http-8080-2] at org.apache.axis2.dataret ...
- 2017-9-12-Linux移植&驱动开发
准备学习Linux很长时间了,很大的一个原因就是兴趣,Linux对科技进步发展.人们生活的改变影响之深很难用简简单单的一些话描述清楚.跟Linux密切相关的东西,开源软件.c语言.底层驱动.网络.服务 ...
- 2017-9-8-Linux下VNC server开启&图形界面显示
之前有一个写树莓派3B怎么只使用网线VNC远程的blog,里面写的比较粗糙(其实是很长时间没搞我也忘了怎么装的了,照着原来的看一遍应该能想起来),所以重新来在新的环境下搭建一下VNC server. ...
- Scrapy基础(四)————Scrapy的使用Pycharm进行Debuge设置
好比Django的Debuge 与前端进行交互时的方便,但是Scrapy 不自带,所以我们写一个main文件来debuge 作用:通过cmd 命令启动爬虫 #-*-coding:utf-8 -*- # ...
- sql面试题-----行转列
tem数据表如下图 select Time as 日期, sum ( case end ) as 胜, sum ( case end ) as 负 from tem group by Time 执行结 ...
- Ios项目添加Pods
一.概要 iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用来方便的统一管理这些第三方库. 二.安装 由于 ...
- Java Web 域名
虽然可以直接通过IP地址来访问WWW的每一台主机,但是32位IP地址非常难记.所以,为了便于记忆,按照一定的规则给Internet上的计算机起了名字即域名.通俗地说,域名相当于一个房屋的门牌号码,别人 ...
- html标题-段落-字符实体-换行
Html标题标签: <h1>.<h2>.<h3>.<h4>.<h5>.<h6>标签可以在网页上定义6种级别的标题,这6种级别的标 ...
- swagger常用注解说明
常用到的注解有: Api ApiModel ApiModelProperty ApiOperation ApiParam ApiResponse ApiResponses ResponseHeader ...