• 参考文献        vue.js官网
  • 项目演示:数据渲染,格式化数据,点击加,减号自动加减

  • 项目准备

1. 项目css和js文件  https://github.com/4561231/hello_world

2. 引入和安装vue-包管理工具

三种方式:

方式一:直接引入连接

方式二:将vue-resource包管理工具下载下来

方式三:用npm管理工具(前提先在你的电脑上安装node环境)

第一步:

第二步:默认回车,之后项目中会多出一个package.json

第四步:安装vue-resource

第五步:和上面类似安装vue

  • 核心功能
  • 具体实现和踩坑

 1)创建实例和获取数据

new Vue({
el:'#app',
data:{ productlist:[]
},
//必须加mounted函数,这是页面初加载,如果不写这个函数,network中将请求不到数据
mounted:function(){
this.cartView();
},
methods:{ cartView:function(){ var _this=this; //要保存这个this,
this.$http.get('data/cartData.json',{'id':'123'}).then(function(res){ _this.productlist=res.data.result.list; //这里的this已经不是实例对象了
}); }
} });

2)v-for()对数据渲染

    <li v-for="item of productlist">
<div class="item-name">{{item.productName}}</div>

3)踩坑:

踩坑一:浏览器提示XMLHttpRequest  cannot loadxxxxxxx  解决方案:https://www.cnblogs.com/xxm980617/p/10492211.html

踩坑二:Uncaught (in promise) Object    因为我们的请求是跨域的,所以必须在服务器下运行,windows可以开apache /wamp等服务器

踩坑三:之前因为在实例对象中没有加mounted函数,导致数据可以在浏览器的network中请求到,但是渲染失败  参考:https://cn.vuejs.org/v2/api/#mounted

    踩坑四:渲染图片的时候不能用传统的src="{{src="item.productImage"}}" 
会报错如下:

解决方案:

 

2.对数据进行格式化

1)局部过滤器:在实例中创建的

//局部过滤器
filters:{ formatMoney:function(value){
return "$" + value.toFixed(2);
}
},

调用方式

           <div class="cart-tab-2">
<div class="item-price">{{item.productPrice | formatMoney}}</div>
         2)全局过滤器
    Vue.filter('money',function(value,type){
return '$' + value.toFixed(2)+type;
});
            调用方式:
             <div class="cart-tab-4">
<div class="item-price-total">{{item.productPrice*item.productQuantity | money('元')}}</div>

3.点击+-号,实现自动增加
cart.js中定义方法
changeMoney:function(product,way){

         if(way>=1){ //判断参数是1还是-1
product.productQuantity++; //为1,数量增加
}else{
product.productQuantity--; //其他数量减少
if(product.productQuantity<1){ //购物车里的数量最少为1,所以还要判断一次是否小于一
product.productQuantity=1;
}
}
}

 
												

vue实现购物车和地址选配的更多相关文章

  1. vue实现购物车和地址选配(二)

    参考文献: vue官网: vue.js 效果展示:全选和取消全选,计算总金额 项目源代码:https://github.com/4561231/hello_world 项目核心代码实现及踩坑 1.全选 ...

  2. 关于慕课网《使用vue2.0实现购物车和地址选配功能》的总结

    视频学习网址:http://www.imooc.com/learn/796 源码打包:https://codeload.github.com/fachaoshao/Vue-ShoppingCart/z ...

  3. vue购物车和地址选配(三)

    参考资料:vue.js官网 项目演示: 项目源代码: 核心代码及踩坑 删除: new Vue({ el:'#app', data:{ productlist:[], totalMoney:0, che ...

  4. VUE2.0实现购物车和地址选配功能学习第二节

    第二节 创建VUE实例 购物车项目计划: 1.创建一个vue实例 2.通过v-for指令渲染产品数据 3.使用filter对金额和图片进行格式化 4.使用v-on实现产品金额动态计算 5.综合演示 ① ...

  5. VUE2.0实现购物车和地址选配功能学习第六节

    第六节 地址列表过滤和展开所有的地址 html:<li v-for="(item,index) in filterAddress">js: new Vue({ el:' ...

  6. VUE2.0实现购物车和地址选配功能学习第七节

    第七节 卡片选中,设置默认 1.卡片选中html:<li v-for="(item,index) in filterAddress" v-bind:class="{ ...

  7. VUE2.0实现购物车和地址选配功能学习第五节

    第五节 单件商品金额计算和单选全选功能 1.vue精髓在于操作data模型来改变dom,渲染页面,而不是直接去改变dom 2.加减改变总金额功能: html:<div class="c ...

  8. VUE2.0实现购物车和地址选配功能学习第四节

    第四节 v-on实现金额动态计算 用¥金额 进行格式处理,可以使用原生js进行转换,但是在vuei,使用filter过滤器更加方便 注: 1.es6语法=>和import等 好处在于res参数后 ...

  9. VUE2.0实现购物车和地址选配功能学习第三节

    第三节 使用v-for渲染商品列表 1.使用vue-resource插件引入json数据 (注:在谷歌中调试打断点-- ,console还可以输出vm,res等属性列表,或者productList等一 ...

随机推荐

  1. C#使用MemoryStream类读写内存

    MemoryStream和BufferedStream都派生自基类Stream,因此它们有很多共同的属性和方法,但是每一个类都有自己独特的用法.这两个类都是实现对内存进行数据读写的功能,而不是对持久性 ...

  2. linux网络配置+远程工具使用

    ifconfig 网卡名 ip地址 就可以设定ip地址 只是临时改变ip地址,重启后会失效 secure crt  更改语言,用gb 和 utf8 两处修改

  3. 洛谷 P1112 波浪数

    题目描述 波浪数是在一对数字之间交替转换的数,如 121212112121211212121 ,双重波浪数则是指在两种进制下都是波浪数的数,如十进制数 191919191919191919 是一个十进 ...

  4. 18mysql3

    一.内外连接全连接,左右连接   █▓        通过两张表查找其对应的记录. 隐式 内连接 select * from a,b where a.列名 = b.列名   █▓        左连接 ...

  5. [洛谷P1273] 有线电视网

    类型:树形背包 传送门:>Here< 题意:给出一棵树,根节点在转播足球赛,每个叶子节点是一个观众在收看.每个叶子结点到根节点的路径权值之和是该点转播的费用,每个叶子节点的观众都会付val ...

  6. 【BZOJ3992】【SDOI2015】序列统计 原根 NTT

    题目大意 有一个集合\(s\),里面的每个数都\(\geq0\)且\(<m\). 问有多少个长度为\(n\)的数列满足这个数列所有数的乘积模\(m\)为\(x\).答案模\(1004535809 ...

  7. EMM386和UMBPCI 区别

    EMM386和UMBPCI 区别 1,SupportCD-ROM[HIMEM+EMM386NOEMS].支持光驱(EMM386模式)2,SupportCD-ROM[HIMEM+UMBPCI].支持光驱 ...

  8. Mysql 语句优化

    通过 show status 命令了解各个 sql 语句的执行频率格式:Mysql> show [session | global] status;注:session 表示当前连接global ...

  9. 自学Python4.8-生成器(方式二:生成器表达式)

    自学Python之路-Python基础+模块+面向对象自学Python之路-Python网络编程自学Python之路-Python并发编程+数据库+前端自学Python之路-django 自学Pyth ...

  10. 【BZOJ1568】[JSOI2008]Blue Mary开公司(李超线段树)

    [BZOJ1568][JSOI2008]Blue Mary开公司(李超线段树) 题面 BZOJ 洛谷 题解 是模板题啊. #include<iostream> #include<cs ...