优点

体积小。接口灵活。侵入性好,可用于页面的一部分,而不是整个页面。扩展性好。源码规范简洁。代码较为活跃,作者是中国人,可在官方论坛中文提问。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-简单购物车的更多相关文章

  1. vue.js购物车

    vue.js https://cn.vuejs.org/v2/guide/ 简单购物车 <html> <head> <script src="https://c ...

  2. Vue简单基础 + 实例 及 组件通信

    vue的双向绑定原理:Object.defineProperty() vue实现数据双向绑定主要是:采用数据劫持结合发布者-订阅者模式的方式,通过 Object.defineProperty() 来劫 ...

  3. 简单购物车程序(Python)

    #简单购物车程序:money_all=0tag=Trueshop_car=[]shop_info={'apple':10,'tesla':100000,'mac':3000,'lenovo':3000 ...

  4. python实现简单购物车系统(练习)

    #!Anaconda/anaconda/python #coding: utf-8 #列表练习,实现简单购物车系统 product_lists = [('iphone',5000), ('comput ...

  5. 使用vue模拟购物车小球动画

    使用vue模拟购物车小球动画 1.效果演示 2.相关代码 <!DOCTYPE html> <html lang="en"> <head> < ...

  6. Python实例---简单购物车Demo

    简单购物车Demo # version: python3.2.5 # author: 'FTL1012' # time: 2017/12/7 09:16 product_list = ( ['Java ...

  7. Session小案例-----简单购物车的使用

    Session小案例-----简单购物车的使用 同上篇一样,这里的处理请求和页面显示相同用的都是servlet. 功能实现例如以下: 1,显示站点的全部商品 2.用户点击购买后,可以记住用户选择的商品 ...

  8. 用Python实现简单购物车

    作业二:简单购物车# 实现打印商品详细信息,用户输入商品名和购买个数,则将商品名,价格,购买个数加入购物列表,# 如果输入为空或其他非法输入则要求用户重新输入 shopping_list = [] w ...

  9. java:Session(概述,三层架构实例(实现接口封装JDBC),Session实现简单购物车实例)

    1.Session概述: Session:在计算机中,尤其是在网络应用中,称为“会话控制”.Session 对象存储特定用户会话所需的属性及配置信息.这样,当用户在应用程序的 Web 页之间跳转时,存 ...

  10. vue简单实现

    vue简单实现 vue的三个核心 虚拟dom, 双向绑定 Proxy,

随机推荐

  1. php date()获取的时间不对解决办法

    因为php默认获取的是格林威治时间,与北京时间相差8小时. 我们要获取到北京时间有两个办法: 1.修改php.ini配置文件: 打开php.ini文件,一般在php配置根目录下,找到其中的 ;date ...

  2. bootstrap学习笔记之三(组件的使用)

    bootstrap组件需要引入bootstrap.js才行,当然要引入bootstrap.js首先得引入JQuery. 一.下拉菜单 将下拉菜单触发器和下拉菜单都包裹在 .dropdown 里,或者另 ...

  3. spring security使用数据库资源

    国内对权限系统的基本要求是将用户权限和被保护资源都放在数据库里进行管理,在这点上Spring Security并没有给出官方的解决方案,为此我们需要对Spring Security进行扩展.. 数据库 ...

  4. 解决jsp中文乱码问题

    1. 先解决响应中的乱码 何为响应中的乱码?把页面中的"username"改成"用户名"你就知道了. 所谓响应中的乱码,就是显示页面上的乱码,因为页面数据是从服 ...

  5. 字典树(Trie Tree)

    在图示中,键标注在节点中,值标注在节点之下.每一个完整的英文单词对应一个特定的整数.Trie 可以看作是一个确定有限状态自动机,尽管边上的符号一般是隐含在分支的顺序中的.键不需要被显式地保存在节点中. ...

  6. 3_STL算法

    1.常用遍历算法1.1 for_each for_each(v1.begin(),v1.end(),show); void show(int &n) //回调函数的入口地址 { cout &l ...

  7. 【转】解决jsp参数传递乱码的问题

    解决jsp参数传递乱码的问题 计算机生于美国,英语是他的母语,而英语以外的其它语言对他来说都是外语.他跟我们一样,不管外语掌握到什么程度,也不会像母语那样使用得那么好,时常也会出一些“拼写错误”问题. ...

  8. IOS第11天(2:UIPickerView自定义国旗选择)

    国旗选择 #import "HMViewController.h" #import "HMFlag.h" #import "HMFlagView.h& ...

  9. Python基础、collections补充

    collections collections是Python数据类型的补充,可以实现Counter计数.可命名元组(namedtuple).默认字典.有序字典.双向队列等功能 参考:http://py ...

  10. SVD奇异值分解

    奇异值分解 备忘:Eigen类库可能会和其他库产生冲突,将Eigen类库的头文件引用放到前面解决了.