vue.js购物车添加商品组件的方法


Posted in Javascript onSeptember 17, 2019

现实向购物车添加商品组件

代码

<template>
<div class="cartcontrol">
 <!--商品减一区域-->
 <div class="reduce" v-show="food.count>0">
  <i class="icon-remove_circle_outline"></i>
 </div>
 <!--商品数量区域-->
 <div class="num" v-show="food.count>0">4</div>
 <!--商品加一区域-->
 <div class="add" @click="addCart">
  <i class="icon-add_circle"></i>
 </div>
</div>
</template>
<script>
export default {
  name: "Cartcontrol",
  props:{
    food:{
      type:Object
    }
  },
  methods:{
    //添加购物车商品数量
    addCart(ele){
      if(!ele._constructed){
        //better-scroll的派发事件scroll的event和pc端浏览器的点击事件的event有个
        // 属性区别_constructed,pc端浏览器的点击事件的event中是没有这个属性的
        return;
      }
      //一开始food中是没有商品数量count
      if(!this.food.count){
        // this.food.count = 1;count不是food对象中的属性,直接这样写,在dom渲染的时候是无法感应到count的变化
        this.$set(this.food,'count',1);
      }else{
        this.food.count++;
      }
      console.log(this.food.count);
    }
  }
}
</script>
<style scoped lang="stylus">

.cartcontrol

display flex
height .48rem
align-items center
.num
  font-size.2rem
  width .48rem
  text-align center
  color rgb(147,153,159)
.reduce,.add
  font-size .4rem
  color rgb(0,160,220)
</style>

对象中添加新的属性,如果更新此属性的值,是不会更新视图的

addCart(ele){
if(!ele._constructed){
        //better-scroll的派发事件scroll的event和pc端浏览器的点击事件的event有个
        // 属性区别_constructed,pc端浏览器的点击事件的event中是没有这个属性的
        return;
      }
      //一开始food中是没有商品数量count
      if(!this.food.count){
        this.food.count = 1;count不是food对象中的属性,直接向food添加新属性count,
        // 当count值发生变化的时候在dom渲染的时候是无法感应到count的变化
      }else{
        this.food.count++;
      }
      console.log(this.food.count);
    }

解决方法:使用$set可以触发更新视图,这样当count发生变化的时候,$set去触发更新视图 addCart(ele){

if(!ele._constructed){
        //better-scroll的派发事件scroll的event和pc端浏览器的点击事件的event有个
        // 属性区别_constructed,pc端浏览器的点击事件的event中是没有这个属性的
        return;
      }
      //一开始food中是没有商品数量count
      if(!this.food.count){
        // this.food.count = 1;count不是food对象中的属性,直接向food添加新属性count,
        // 当count值发生变化的时候在dom渲染的时候是无法感应到count的变化
        this.$set(this.food,'count',1);
      }else{
        this.food.count++;
      }
      console.log(this.food.count);
    }

总结

以上所述是小编给大家介绍的vue.js购物车添加商品组件的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
javascript在事件监听方面的兼容性小结
Apr 07 Javascript
菜鸟学习JavaScript小实验之函数引用
Nov 17 Javascript
javascript 全选与全取消功能的实现代码
Dec 23 Javascript
jQuery中DOM操作实例分析
Jan 23 Javascript
javascript+canvas实现刮刮卡抽奖效果
Jul 29 Javascript
详解angularjs中如何实现控制器和指令之间交互
May 31 Javascript
JS实现的简单折叠展开动画效果示例
Apr 28 Javascript
使用vue实现各类弹出框组件
Jul 03 Javascript
js实现数据导出为EXCEL(支持大量数据导出)
Mar 31 Javascript
微信小程序swiper组件实现抖音翻页切换视频功能的实例代码
Jun 24 Javascript
详解JavaScript 作用域
Jul 14 Javascript
JavaScript获取URL参数的方法分享
Apr 07 Javascript
关于vue项目中搜索节流的实现代码
Sep 17 #Javascript
Vue的生命周期操作示例
Sep 17 #Javascript
小程序两种滚动公告栏的实现方法
Sep 17 #Javascript
Vue Extends 扩展选项用法完整实例
Sep 17 #Javascript
react native 仿微信聊天室实例代码
Sep 17 #Javascript
Vue 自定义指令功能完整实例
Sep 17 #Javascript
JS扁平化输出数组的2种方法解析
Sep 17 #Javascript
You might like
php+mysql大量用户登录解决方案分析
2014/12/29 PHP
php微信支付之APP支付方法
2015/03/04 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
JavaScript高级程序设计阅读笔记(六) ECMAScript中的运算符(二)
2012/02/27 Javascript
js时间日期和毫秒的相互转换
2013/02/22 Javascript
js中的scroll和offset 使用比较的实例与分析
2013/09/29 Javascript
js简单实现用户注册信息的校验代码
2013/11/15 Javascript
jQuery中bind,live,delegate与one方法的用法及区别解析
2013/12/30 Javascript
使用insertAfter()方法在现有元素后添加一个新元素
2014/05/28 Javascript
JQuery实现表格动态增加行并对新行添加事件
2014/07/30 Javascript
jQuery中even选择器的定义和用法
2014/12/23 Javascript
jQuery实现带延时功能的水平多级菜单效果【附demo源码下载】
2016/09/21 Javascript
Bootstrap Modal遮罩弹出层代码分享
2016/11/21 Javascript
flexslider.js实现移动端轮播
2017/02/05 Javascript
JS实现前端页面的搜索功能
2018/06/12 Javascript
jQuery选择器之基本选择器用法实例分析
2019/02/19 jQuery
python抓取某汽车网数据解析html存入excel示例
2013/12/04 Python
python数据结构之二叉树的统计与转换实例
2014/04/29 Python
json跨域调用python的方法详解
2017/01/11 Python
Python装饰器用法实例分析
2019/01/14 Python
python爬取酷狗音乐排行榜
2019/02/20 Python
10行Python代码计算汽车数量的实现方法
2019/10/23 Python
Python函数基本使用原理详解
2020/03/19 Python
VScode连接远程服务器上的jupyter notebook的实现
2020/04/23 Python
一些关于python 装饰器的个人理解
2020/08/31 Python
Larsson & Jennings官网:现代瑞士钟表匠
2018/03/20 全球购物
STAY JAPAN台湾:预订日本民宿
2018/07/22 全球购物
Zipadee-Zip襁褓过渡毯:Sleeping Baby
2018/12/30 全球购物
在线课程:Skillshare
2019/04/02 全球购物
安德玛比利时官网:Under Armour比利时
2019/08/28 全球购物
森林防火工作方案
2014/02/14 职场文书
护林防火标语
2014/06/27 职场文书
大学活动总结模板
2014/07/10 职场文书
学校实习推荐信
2015/03/27 职场文书
党员理论学习心得体会
2016/01/21 职场文书
Python趣味挑战之给幼儿园弟弟生成1000道算术题
2021/05/28 Python