<!-- 删除商品，全选，全不选价格实时变化，单个选中,结算.md -->
#购物车列表里面的商品数量增加和减少,和是否被选中
## 打算更新用户里面的商品？
要根据用户id 和商品id 确定哪个用户的商品
然后更新里面的数据

## api接口
接收参数：
    商品id
    商品数量

### api接口代码实现
update:
    参数一：条件
    参数二：要设置的字段
    参数三：回调函数

    参数二：设置方式 cartList.$.productNum  
    cartList 是user里面的对象
    $ 固定写法
    productNum 是要更新的字段， user.cartList 的属性
```
router.post('/cartEdit', function(req, res, next) {
    let userId = req.cookies.userId,
        productId = req.body.productId,
        productNum = req.body.productNum;


    User.update({ 'userId': userId, "cartList.productId": productId }, {
        "cartList.$.productNum": productNum
    }, function(err, doc) {
        if (err) { res.json({ status: '1', msg: err.message, result: '' }) } else {
            res.json({
                status: 0,
                msg: '',
                result: '修改购物车商品成功'
            })
        }
    })

})
```

### dom 实现

```

 <a href="javascipt:;" class="checkbox-btn item-check-btn" v-bind:class="{'check':item.checked=='1'}" @click="editCart('checked',item)">
                                        <svg class="icon icon-ok">
                    <use xlink:href="#icon-ok"></use>
                  </svg>
                                    </a>

<div class="select-self-area">
    <a class="input-sub" @click="editCart('minu',item)">-</a>
    <span class="select-ipt">{{item.productNum}}</span>
    <a class="input-add" @click="editCart('add',item)">+</a>
</div>


 editCart(flag,item){
                if(flag == 'minu'){
                    if(item.productNum <= 1){
                        return;
                    }
                    item.productNum --;
                }else if(flag == 'add'){
                    item.productNum ++;
                }else{
                    item.checked = item.checked == '1' ? 0 : 1; 
                }
                this.$http.post('/users/cartEdit',{
                    productId:item.productId,
                    productNum:item.productNum
                }).then(result=>{
                    console.log(result);
                    // alert(result.data.result);
                })

            }
```