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 相关文章推荐
jquery 实现input输入什么div图层显示什么
Jun 15 Javascript
js电话号码验证方法
Sep 28 Javascript
全面解析Bootstrap手风琴效果
Apr 17 Javascript
JavaScript电子时钟倒计时
Jan 09 Javascript
利用jquery给指定的table动态添加一行、删除一行的方法
Oct 12 Javascript
vue.js选中动态绑定的radio的指定项
Jun 02 Javascript
JavaScript输出所选择起始与结束日期的方法
Jul 12 Javascript
JavaScript变量类型以及变量作用域详解
Aug 14 Javascript
jQuery中.attr()和.data()的区别分析
Sep 03 jQuery
vue使用一些外部插件及样式的配置代码
Nov 18 Javascript
如何在微信小程序中存setStorage
Dec 13 Javascript
three.js着色器材质的内置变量示例详解
Aug 16 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
全国FM电台频率大全 - 17 湖北省
2020/03/11 无线电
通过PHP的内置函数,通过DES算法对数据加密和解密
2012/06/21 PHP
PHP Try-catch 语句使用技巧
2016/02/28 PHP
PHP中抽象类,接口功能、定义方法示例
2019/02/26 PHP
IE iframe的onload方法分析小结
2010/01/07 Javascript
JQuery复制DOM节点的方法
2015/06/11 Javascript
JavaScript实现单击下拉框选择直接跳转页面的方法
2015/07/02 Javascript
微信QQ的二维码登录原理js代码解析
2016/06/23 Javascript
Angular2 环境配置详细介绍
2016/09/21 Javascript
Bootstrap基本组件学习笔记之分页(12)
2016/12/08 Javascript
详解微信小程序 wx.uploadFile 的编码坑
2017/01/23 Javascript
JS排序之快速排序详解
2017/04/08 Javascript
深入理解vue中的$set
2017/06/01 Javascript
vue裁切预览组件功能的实现步骤
2018/05/04 Javascript
小程序实现横向滑动日历效果
2019/10/21 Javascript
ES5 模拟 ES6 的 Symbol 实现私有成员功能示例
2020/05/06 Javascript
如何手动实现一个 JavaScript 模块执行器
2020/10/16 Javascript
Python中的defaultdict模块和namedtuple模块的简单入门指南
2015/04/01 Python
python3利用tcp实现文件夹远程传输
2018/07/28 Python
Django实现微信小程序的登录验证功能并维护登录态
2019/07/04 Python
python实现本地批量ping多个IP的方法示例
2019/08/07 Python
基于Python的图像数据增强Data Augmentation解析
2019/08/13 Python
django中上传图片分页三级联动效果的实现代码
2019/08/30 Python
在python shell中运行python文件的实现
2019/12/21 Python
python 读取更新中的log 或其它文本方式
2019/12/24 Python
利用Python自动化操作AutoCAD的实现
2020/04/01 Python
瑞士灯具购物网站:Lampenwelt.ch
2018/07/08 全球购物
TUMI新加坡官网:国际领先的商旅箱包品牌
2019/01/12 全球购物
秘书英文求职信范文
2014/01/31 职场文书
《天安门广场》教学反思
2014/04/23 职场文书
县政府办公室领导班子个人对照检查材料
2014/09/16 职场文书
2015年暑假生活总结
2015/07/13 职场文书
2015年度工程师评职称工作总结
2015/10/14 职场文书
个人业务学习心得体会
2016/01/25 职场文书
浅谈Python基础之列表那些事儿
2021/05/11 Python
python实现Nao机器人的单目测距
2021/09/04 Python