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代码
Nov 09 Javascript
学习YUI.Ext 第六天--关于树TreePanel(Part 1)
Mar 10 Javascript
javascript firefox兼容ie的dom方法脚本
May 18 Javascript
html文本框提示效果的示例代码
Jun 28 Javascript
javascript常用函数归纳整理
Oct 31 Javascript
vue.js 实现图片本地预览 裁剪 压缩 上传功能
Mar 01 Javascript
jQuery实现百度图片移入移出内容提示框上下左右移动的效果
Jun 05 jQuery
搭建基于express框架运行环境的方法步骤
Nov 15 Javascript
JavaScript解析机制与闭包原理实例详解
Mar 08 Javascript
微信小程序扫描二维码获取信息实例详解
May 07 Javascript
vue前后分离调起微信支付
Jul 29 Javascript
Node.js API详解之 os模块用法实例分析
May 06 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执行sql语句的写法
2009/03/10 PHP
关于session在PHP5的配置文件中的详细设置参数说明
2011/04/20 PHP
mysql 查询指定日期时间内sql语句实现原理与代码
2012/12/16 PHP
PHP的curl函数的用法总结
2019/02/14 PHP
比Jquery的document.ready更快的方法
2010/04/28 Javascript
jquery.jstree 增加节点的双击事件代码
2010/07/27 Javascript
JS生成随机字符串的多种方法
2014/06/10 Javascript
extjs 分页使用jsp传递数据示例
2014/07/29 Javascript
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
2016/12/15 Javascript
bootstrap导航栏、下拉菜单、表单的简单应用实例解析
2017/01/06 Javascript
最简单的vue消息提示全局组件的方法
2019/06/16 Javascript
nodejs中使用archive压缩文件的实现代码
2019/11/26 NodeJs
[02:19]DOTA选手解说齐贺岁
2018/02/11 DOTA
[01:16:16]DOTA2-DPC中国联赛定级赛 RNG vs Phoenix BO3第二场 1月8日
2021/03/11 DOTA
Python的SQLAlchemy框架使用入门
2015/04/29 Python
Python编程实现双链表,栈,队列及二叉树的方法示例
2017/11/01 Python
Python3 伪装浏览器的方法示例
2017/11/23 Python
python中验证码连通域分割的方法详解
2018/06/04 Python
使用Numpy对特征中的异常值进行替换及条件替换方式
2020/06/08 Python
python如何删除文件、目录
2020/06/23 Python
Jupyter Notebook 安装配置与使用详解
2021/01/06 Python
Nike英国官网:Nike.com (UK)
2017/02/13 全球购物
TripAdvisor台湾:全球最大旅游网站
2018/08/26 全球购物
北京银河万佳Java面试题
2012/03/21 面试题
合伙经营协议书范本
2014/04/18 职场文书
警示教育活动总结
2014/05/05 职场文书
领导干部个人整改措施落实情况汇报
2014/10/29 职场文书
2014年化验员工作总结
2014/11/18 职场文书
2014年度安全工作总结
2014/12/04 职场文书
停电调休通知
2015/04/16 职场文书
2016年会开场白台词
2015/06/01 职场文书
关于观后感的作文
2015/06/18 职场文书
2019大学毕业晚会主持词
2019/06/21 职场文书
对Golang中的FORM相关字段理解
2021/05/02 Golang
react使用antd的上传组件实现文件表单一起提交功能(完整代码)
2021/06/29 Javascript
如何Python使用re模块实现okenizer
2022/04/30 Python