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中符号转意问题示例探讨
Aug 19 Javascript
兼容所有浏览器的js复制插件Zero使用介绍
Mar 19 Javascript
JavaScript删除指定子元素代码实例
Jan 13 Javascript
JavaScript使用push方法添加一个元素到数组末尾用法实例
Apr 06 Javascript
jQuery简单实现列表隐藏和显示效果示例
Sep 12 Javascript
微信小程序 页面传参实例详解
Nov 16 Javascript
使用 Vue.js 仿百度搜索框的实例代码
May 09 Javascript
AngularJS 控制器 controller的详解
Oct 17 Javascript
node中使用es6/7/8(支持性与性能)
Mar 28 Javascript
微信小程序npm引入vant-weapp的踩坑记录
Aug 01 Javascript
最全vue的vue-amap使用高德地图插件画多边形范围的示例代码
Jul 17 Javascript
微信小程序picker组件两列关联使用方式
Oct 27 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
ThinkPHP使用smarty模板引擎的方法
2014/07/01 PHP
作为程序员必知的16个最佳PHP库
2015/12/09 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
Google Suggest ;-) 基于js的动态下拉菜单
2006/10/11 Javascript
基于jQuery的简单九宫格实现代码
2012/08/09 Javascript
javascript中的window.location.search方法简介
2013/09/02 Javascript
jQuery 滑动方法slideDown向下滑动元素
2014/01/16 Javascript
浅谈Javascript如何实现匀速运动
2014/12/19 Javascript
JS获取iframe中marginHeight和marginWidth属性的方法
2015/04/01 Javascript
nodejs实现获取某宝商品分类
2015/05/28 NodeJs
Jquery基础教程之DOM操作
2015/08/19 Javascript
js生成随机数的过程解析
2015/11/24 Javascript
实例讲解jquery与json的结合
2016/01/07 Javascript
详解微信小程序——自定义圆形进度条
2016/12/29 Javascript
浅谈gulp创建完整的项目流程
2017/12/20 Javascript
jQuery easyui datagird编辑行删除行功能的实现代码
2018/09/20 jQuery
在Python中操作日期和时间之gmtime()方法的使用
2015/05/22 Python
Python语法快速入门指南
2015/10/12 Python
Python正则抓取新闻标题和链接的方法示例
2017/04/24 Python
Python复数属性和方法运算操作示例
2017/07/21 Python
Python数据结构之单链表详解
2017/09/12 Python
Python中对象的引用与复制代码示例
2017/12/04 Python
详细分析python3的reduce函数
2017/12/05 Python
对pandas通过索引提取dataframe的行方法详解
2019/02/01 Python
在django admin详情表单显示中添加自定义控件的实现
2020/03/11 Python
20行Python代码实现视频字符化功能
2020/04/13 Python
复古风格的女装和装饰品:ModCloth
2017/12/29 全球购物
天游软件面试
2013/11/23 面试题
函授自我鉴定范文
2014/02/06 职场文书
《小山羊和小灰兔》教学反思
2014/02/19 职场文书
事业单位分类改革实施方案
2014/03/21 职场文书
教师节感恩老师演讲稿
2014/08/28 职场文书
幼儿园中班个人总结
2015/02/28 职场文书
初中毕业生感言
2015/07/31 职场文书
Python爬虫爬取全球疫情数据并存储到mysql数据库的步骤
2021/03/29 Python
Javascript中async与await的捕捉错误详解
2022/03/03 Javascript