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 globalStorage类代码
Jun 04 Javascript
学习ExtJS(一) 之基础前提
Oct 07 Javascript
js 获取元素下面所有li的两种方法
Apr 14 Javascript
jquery xMarquee实现文字水平无缝滚动效果
Apr 29 Javascript
JavaScript中的console.assert()函数介绍
Dec 29 Javascript
jQuery webuploader分片上传大文件
Nov 07 Javascript
快速解决vue-cli在ie9+中无效的问题
Sep 04 Javascript
vue框架下部署上线后刷新报404问题的解决方案(推荐)
Apr 03 Javascript
ES6知识点整理之Proxy的应用实例详解
Apr 16 Javascript
详解Webpack4多页应用打包方案
Jul 16 Javascript
angular *Ngif else用法详解
Dec 15 Javascript
基于vue+echarts数据可视化大屏展示的实现
Dec 25 Vue.js
关于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实现单链表的实例代码
2013/03/22 PHP
PHP计算2点经纬度之间的距离代码
2013/08/12 PHP
typecho插件编写教程(五):核心代码
2015/05/28 PHP
php支持中文字符串分割的函数
2015/05/28 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
2017/05/19 PHP
laravel框架与其他框架的详细对比
2019/10/23 PHP
javascript不同页面传值的改进版
2008/09/30 Javascript
Ext grid 添加右击菜单
2009/11/26 Javascript
跟我学习javascript的for循环和for...in循环
2015/11/18 Javascript
js表单元素checked、radio被选中的几种方法(详解)
2016/08/22 Javascript
js封装tab标签页实例分享
2016/12/19 Javascript
vue.js的安装方法
2017/05/12 Javascript
nodejs+express搭建多人聊天室步骤
2018/02/12 NodeJs
一篇文章,教你学会Vue CLI 插件开发
2019/04/17 Javascript
Bootstrap 时间日历插件bootstrap-datetimepicker配置与应用小结
2019/05/28 Javascript
微信小程序实现多行文字超出部分省略号显示功能
2019/10/23 Javascript
如何使用jQuery操作Cookies方法解析
2020/09/08 jQuery
SpringBoot+Vue开发之Login校验规则、实现登录和重置事件
2020/10/19 Javascript
Python素数检测实例分析
2015/06/15 Python
Python 3.x 安装opencv+opencv_contrib的操作方法
2018/04/02 Python
Python中format()格式输出全解
2019/04/12 Python
Python3.5局部变量与全局变量作用域实例分析
2019/04/30 Python
美体小铺法国官方网站:The Body Shop法国
2020/06/04 全球购物
医学专业个人求职自荐信格式
2013/09/23 职场文书
办理生育手续介绍信
2014/01/14 职场文书
市场部业务员岗位职责
2014/04/02 职场文书
岗位明星事迹材料
2014/05/18 职场文书
团队激励口号
2014/06/06 职场文书
中国梦团日活动总结
2014/07/07 职场文书
建筑工程造价专业自荐信
2014/07/08 职场文书
药店收银员岗位职责
2015/04/07 职场文书
八年级数学教学反思
2016/02/17 职场文书
机关单位2016年法制宣传日活动总结
2016/04/01 职场文书
Python 中数组和数字相乘时的注意事项说明
2021/05/10 Python
python识别围棋定位棋盘位置
2021/07/26 Python
Python可变与不可变数据和深拷贝与浅拷贝
2022/04/06 Python