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 相关文章推荐
一份老外写的XMLHttpRequest代码多浏览器支持兼容性
Jan 11 Javascript
javascript 面向对象思想 附源码
Jul 07 Javascript
js移除事件 js绑定事件实例应用
Nov 28 Javascript
解析URI与URL之间的区别与联系
Nov 22 Javascript
javascript实现window.print()去除页眉页脚
Dec 30 Javascript
jQuery源码分析之Callbacks详解
Mar 13 Javascript
JS实现iframe自适应高度的方法(兼容IE与FireFox)
Jun 24 Javascript
前端框架Vue.js中Directive知识详解
Sep 12 Javascript
jQuery动态生成不规则表格(前后端)
Feb 21 Javascript
JavaScript数据结构之二叉查找树的定义与表示方法
Apr 12 Javascript
Element Cascader 级联选择器的使用示例
Jul 27 Javascript
使用Ajax实现无刷新上传文件
Apr 12 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
从C/C++迁移到PHP——判断字符类型的函数
2006/10/09 PHP
PHP新手上路(三)
2006/10/09 PHP
php 高性能书写
2010/12/11 PHP
详解PHP的Yii框架中自带的前端资源包的使用
2016/03/31 PHP
php微信开发之上传临时素材
2016/06/24 PHP
PHP实现向关联数组指定的Key之前插入元素的方法
2017/06/06 PHP
PHP文件操作实例总结【文件上传、下载、分页】
2018/12/08 PHP
nicejforms——美化表单不用愁
2007/02/20 Javascript
javascript 可以拖动的DIV(二)
2009/06/26 Javascript
基于JavaScript实现 获取鼠标点击位置坐标的方法
2013/04/12 Javascript
JS代码实现百度地图 画圆 删除标注
2016/10/12 Javascript
node.js+express+mySQL+ejs+bootstrop实现网站登录注册功能
2018/01/12 Javascript
layui实现tab的添加拒绝重复的方法
2019/09/04 Javascript
JS设置自定义快捷键并实现图片上下左右移动
2019/10/17 Javascript
JavaScript如何使用插值实现图像渐变
2020/06/28 Javascript
Vue如何基于vue-i18n实现多国语言兼容
2020/07/17 Javascript
简单了解three.js 着色器材质
2020/08/03 Javascript
vue项目打包为APP,静态资源正常显示,但API请求不到数据的操作
2020/09/12 Javascript
[01:38]2018DOTA2亚洲邀请赛主赛事第二日现场采访 神秘商人痛陈生计不易
2018/04/05 DOTA
python使用urllib2模块获取gravatar头像实例
2013/12/18 Python
python中使用百度音乐搜索的api下载指定歌曲的lrc歌词
2014/07/18 Python
tensorflow TFRecords文件的生成和读取的方法
2018/02/06 Python
查看python下OpenCV版本的方法
2018/08/03 Python
深入浅析Python科学计算库Scipy及安装步骤
2019/10/12 Python
Python之Numpy的超实用基础详细教程
2019/10/23 Python
pytorch如何冻结某层参数的实现
2020/01/10 Python
浅析两列自适应布局的3种思路
2016/05/03 HTML / CSS
英国可持续奢侈品包包品牌:Elvis & Kresse
2018/08/05 全球购物
Notino匈牙利:购买香水和化妆品
2019/04/12 全球购物
安德玛加拿大官网:Under Armour加拿大
2019/10/02 全球购物
计算机网络专业推荐信
2013/11/24 职场文书
房地产销售员的自我评价分享
2013/12/04 职场文书
招商引资工作汇报
2014/10/28 职场文书
会计工作检讨书
2015/02/19 职场文书
标准版个人借条怎么写?以及什么是借条?
2019/08/28 职场文书
MySQL数据库如何给表设置约束详解
2022/03/13 MySQL