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 相关文章推荐
JS实现浏览器菜单命令
Sep 05 Javascript
基于JavaScript 声明全局变量的三种方式详解
May 07 Javascript
Jquery修改页面标题title其它JS失效的解决方法
Oct 31 Javascript
浅谈JavaScript中的字符编码转换问题
Jul 07 Javascript
jQuery超简单选项卡完整实例
Sep 26 Javascript
JavaScript严格模式详解
Nov 18 Javascript
BootStrap Table复选框默认选中功能的实现代码(从数据库获取到对应的状态进行判断是否为选中状态)
Jul 11 Javascript
一个有意思的鼠标点击文字特效jquery代码
Sep 23 jQuery
Swiper自定义分页器使用详解
Dec 28 Javascript
vue解决弹出蒙层滑动穿透问题的方法
Sep 22 Javascript
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
Jul 03 jQuery
微信小程序中的列表切换功能实例代码详解
Jun 09 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
11个PHP 分页脚本推荐
2011/08/15 PHP
解析ajax事件的调用顺序
2013/06/17 PHP
完美的2个php检测字符串是否是utf-8编码函数分享
2014/07/28 PHP
学习php设计模式 php实现备忘录模式(Memento)
2015/12/09 PHP
js实现iframe动态调整高度的代码
2008/01/06 Javascript
将CKfinder整合进CKEditor3.0的新方法
2010/01/10 Javascript
jquery中实现标签切换效果的代码
2011/03/01 Javascript
日期处理的js库(迷你版)--自建js库总结
2011/11/21 Javascript
IE不支持getElementsByClassName最终完美解决方案
2012/12/17 Javascript
js判断FCKeditor内容是否为空的两种形式
2013/05/14 Javascript
js使用正则实现ReplaceAll全部替换的方法
2014/07/18 Javascript
javascript实现给定半径求出圆的面积
2015/06/26 Javascript
浅谈JavaScript的Polymer框架中的事件绑定
2015/07/29 Javascript
javascript文本模板用法实例
2015/07/31 Javascript
Javascript简单实现面向对象编程继承实例代码
2015/11/27 Javascript
jQuery使用contains过滤器实现精确匹配方法详解
2016/02/25 Javascript
JavaScript的this关键字的理解
2016/06/18 Javascript
js实现添加可信站点、修改activex安全设置,禁用弹出窗口阻止程序
2016/08/17 Javascript
微信小程序 教程之引用
2016/10/18 Javascript
JQuery Dialog对话框 不能通过Esc关闭的原因分析及解决办法
2017/01/18 Javascript
单行 JS 实现移动端金钱格式的输入规则
2017/05/22 Javascript
js封装成插件_Canvas统计图插件编写实例
2017/09/12 Javascript
vue中监听返回键问题
2019/08/28 Javascript
python实现分析apache和nginx日志文件并输出访客ip列表的方法
2015/04/04 Python
Pandas Shift函数的基础入门学习笔记
2018/11/16 Python
Python调用C语言的实现
2019/07/26 Python
Python实现结构体代码实例
2020/02/10 Python
python列表删除和多重循环退出原理详解
2020/03/26 Python
Everything But Water官网:美国泳装品牌
2019/03/17 全球购物
商务英语求职自荐信范文
2013/12/24 职场文书
产品销售计划书
2014/05/04 职场文书
高中综合实践活动总结
2014/07/07 职场文书
忠诚教育心得体会
2014/09/03 职场文书
格列佛游记读书笔记
2015/06/30 职场文书
心理健康教育培训研修感言
2015/11/18 职场文书
医生行业员工的辞职信
2019/06/24 职场文书