Vue-简单购物车
优点
体积小。接口灵活。侵入性好,可用于页面的一部分,而不是整个页面。扩展性好。源码规范简洁。代码较为活跃,作者是中国人,可在官方论坛中文提问。github9000+。基于组件化的开发。
缺点
社区不大,如果有问题可以读源码。功能仅限于view层,Ajax等功能需要额外的库。对开发人员要求较高。开发的话,需要webpack,不然很难用,最好配合es6。
<div class="am-container" style="min-height:300px;" id="goshop">
<template v-if="items.length">
<table class="am-table am-table-striped am-table-hover am-text-xs am-table-contered">
<th>名称</th>
<th>价格</th>
<th>数量</th>
<th>操作</th>
<tr v-for="item in items">
<td>{{item.name}}</td>
<td>{{item.price | currency '¥' 0}}</td>
<td><span><button @click="reduce($index)" class="{{item.num == 1 ? '' : 'am-btn-danger'}}" > - </button></span> {{item.num}} <span><button @click="append($index)" class="{{item.num < item.nums ? 'am-btn-danger' : ''}}" >+</button></span></td>
<td> <button @click="rm(item)" class="am-btn-danger" >移除</button></td>
</tr>
</table>
<div id="message">
<label>收件人:</label>
<input type="text" v-model="name"/>
<label>地址:</label>
<input type="text" v-model="address"/>
</div>
<div >
<h3>清单</h3>
<ul>
<li><font color='red'>总计:</font><span>{{total | currency '¥' 0}}</span></li>
<li>收件人:<span>{{name}}</span></li>
<li>收件地址:<span>{{ address }}</span></li>
</ul>
</div>
</template>
<template v-else>
hello world
</template>
</div>
js代码
var data =[{'name':'小米5','price':'2400','nums':'3','num':'1'},{'name':'iphone','price':'3800','nums':'5','num':'1'},{'name':'荣耀8','price':'2500','nums':'7','num':'1'}];
var vm = new Vue({
'el':'#goshop',
data:{
items:data,
name:'',
address:'',
},
computed:{
total:function(){
var total = 0;
for(var i in this.items){
total += this.items[i].price * this.items[i].num;
}
return total;
}
},
methods:{
reduce:function(index){
var item = this.items[index];
if(item.num == 1 ){
return false;
}
item.num--;
},
append:function(index){
var item = this.items[index];
if(item.num < item.nums ){
item.num++;
}
},
rm:function(index){
// this.items.splice(index,1);
this.items.$remove(index);
}
}
});
Vue-简单购物车的更多相关文章
- vue.js购物车
vue.js https://cn.vuejs.org/v2/guide/ 简单购物车 <html> <head> <script src="https://c ...
- Vue简单基础 + 实例 及 组件通信
vue的双向绑定原理:Object.defineProperty() vue实现数据双向绑定主要是:采用数据劫持结合发布者-订阅者模式的方式,通过 Object.defineProperty() 来劫 ...
- 简单购物车程序(Python)
#简单购物车程序:money_all=0tag=Trueshop_car=[]shop_info={'apple':10,'tesla':100000,'mac':3000,'lenovo':3000 ...
- python实现简单购物车系统(练习)
#!Anaconda/anaconda/python #coding: utf-8 #列表练习,实现简单购物车系统 product_lists = [('iphone',5000), ('comput ...
- 使用vue模拟购物车小球动画
使用vue模拟购物车小球动画 1.效果演示 2.相关代码 <!DOCTYPE html> <html lang="en"> <head> < ...
- Python实例---简单购物车Demo
简单购物车Demo # version: python3.2.5 # author: 'FTL1012' # time: 2017/12/7 09:16 product_list = ( ['Java ...
- Session小案例-----简单购物车的使用
Session小案例-----简单购物车的使用 同上篇一样,这里的处理请求和页面显示相同用的都是servlet. 功能实现例如以下: 1,显示站点的全部商品 2.用户点击购买后,可以记住用户选择的商品 ...
- 用Python实现简单购物车
作业二:简单购物车# 实现打印商品详细信息,用户输入商品名和购买个数,则将商品名,价格,购买个数加入购物列表,# 如果输入为空或其他非法输入则要求用户重新输入 shopping_list = [] w ...
- java:Session(概述,三层架构实例(实现接口封装JDBC),Session实现简单购物车实例)
1.Session概述: Session:在计算机中,尤其是在网络应用中,称为“会话控制”.Session 对象存储特定用户会话所需的属性及配置信息.这样,当用户在应用程序的 Web 页之间跳转时,存 ...
- vue简单实现
vue简单实现 vue的三个核心 虚拟dom, 双向绑定 Proxy,
随机推荐
- unity3d插件Daikon Forge GUI 中文教程6-高级控件richtextlabel的使用
3.5.richtextlabel文本 可以像Word文档一样编辑出多样的内容,图片,字体颜色大小下划线.超链接背景等等. Defaults: 默认字体 默认图集 Blank Texture :空白的 ...
- unity3d插件Daikon Forge GUI 中文教程2-基础控件Label的使用
我们先来设置 UI Root 中的如下:屏幕大小为1024*768 2.1 新建一个Label 控件 先来看看Control Properties (基本上是所有控件都共用的)的以后不再介绍,参数: ...
- WebApp 设计要素
从去年开始就负责公司WebApp的产品跟设计工作,最近整体大改了两个版本,也算累积了一些实际的经验.在不断学习的过程中,发现对于WebApp可以直接用于项目上的资料比较零碎,在这里总结一下,供初做 W ...
- WOFF mime类型
WOFF fonts,国外网站很多调用了.woff字体文件,IIS默认不支持,所以会报错404,只需要添加扩展MIME类型mime类型是:application/x-font-woff.
- 5_STL设计理念_迭代器
他山之石,可以攻玉. http://blog.csdn.net/jxh_123/article/details/30793397?utm_source=tuicool&utm_medium=r ...
- Java String类型数据的字节长度
问题描述: 向Oracle数据库中一varchar2(64)类型字段中插入一条String类型数据,程序使用String.length()来进行数据的长度校验,如果数据是纯英文,没有问题,但是如果数据 ...
- Objective-C 中类属性(修饰)
Objective-C 中类属性(修饰) (2013-07-13 14:38:35) 转载▼ 标签: it 分类: IOS笔记 nonatomic: 非原子性访问,对属性赋值的时候不加锁,多线程并发访 ...
- yii 基础版用rbac-plus
1.将高级版的common/models/user.php覆盖掉基础版的models/user.php 2.将命名空间 namespace common\models;改为 namespace app ...
- 小试牛刀2:JavaScript基础题
JavaScript基础题 1.网页中有个字符串“我有一个梦想”,使用JavaScript获取该字符串的长度,同时输出字符串最后两个字. 答案: <!DOCTYPE html PUBLIC &q ...
- busybox rootfs 启动脚本分析(一)
imx6文件系统启动脚本分析.开机运行/sbin/init,读取/etc/inittab文件,进行初始化. 参考链接 http://blog.163.com/wghbeyond@126/blog/st ...