vue.js购物车添加商品组件

现实向购物车添加商品组件

代码

对象中添加新的属性,如果更新此属性的值,是不会更新视图的

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);

        }     

你可能感兴趣的:(css,javascript)