vue2.0如何实现购物车的加减?

谢谢大家,问题已经解决了。正确的代码已经更新···
想要拿到v-model.number="lists.buy_num"这个的值,从而进行操作。新手哦,请不要给负分`

   <div id="cart-box">
        <article class="con-main">                    
                 <div class="co-lists" v-for="(lists,index) in cart_list">
                        <div class="cpn-num">                                   
                               <span @click="reduceCartNum(index)"></span>
                                <input type="text" class="goods_num" readonly v-model.number="lists.buy_num">
                                <span  class="num_none"  @click="addCartNum(index)"></span>                                                    
                           </div>
                   </div>
                  
          </article>
   </div>

<script type="text/javascript">
    var cartbox=new Vue({
         el:"#cart-box",
         data:{
               buy_num:'',
               cart_list: [ 
               ],
             },
             created:function(){
                    this.getGoods()
             },
             methods:{
                    getGoods:function(){
                         $.getJSON("{:url('/cart/getCart',)}", function(json){
                                if(json.code == 200){
                                     cartbox.cart_list=json.data.cart_list;
                                }else{

                                }
                            });    
                    },
                 addCartNum:function (index) {
                     var buy_nums=this.cart_list[index].buy_num
                     if(buy_nums>30){                             
                         return false;
                      }                      
                     this.cart_list[index].buy_num++;
                  },
                  reduceCartNum:function(index){
                       var buy_nums=this.cart_list[index].buy_num
                       if(buy_nums <= 1){                                                          
                           return false;
                          }
                    this.cart_list[index].buy_num--;
                  }
                                        
             }
        
        });
</script>
阅读 10.2k
5 个回答

大神教我改好了~~

要看你购物车的数据结构了,无非就是操作相关的数据,最基本的,往数组中 插入元素 或 删除元素。

用vue1.0做过大概是这样

addCart(event) {
            if (!this.food.count) {
                Vue.set(this.food, 'count', 1);
                this.food.count = 1;
            } else {
                this.food.count++;
            };

vuex的demo里面不就是个购物车的实现么,可以参考下

传送门

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题