RookieGz 2018-11-26 06:10 采纳率: 100%
浏览 4754
已采纳

vuex里的state如何监听?

写了一个购物车,添加商品时多次点击同一个商品只显示数量1,添加第二件商品时第一件商品的数量就变成正确的了,数据变化时没有监听到变化,请问各位大佬该怎么解决?
store.js:

        isLogin:false,
        car:[]
    },
    getters:{
        clearUp:function(state){
            return state.car.sort(function(m,n){n-m})
        }
    },
    mutations:{
        addCar:function(state,g){
            var swi = -1
            for(var i in state.car){
                if(state.car[i].id == g.id){
                    swi = i
                    break
                }
            }
            //console.log(swi)
            if (swi != -1){
                state.car[swi].num ++
            }else{
                g.num = 1
                state.car.push(g)
            }
            //console.log(state.car)
        }
 }

监听页:

        chuan:function(){
            return this.$store.getters.clearUp
        }
    },
    watch:{
        clearUp:function(){
            console.log(this.$store.state.car)
            return this.$store.state.car
        }
    }

结构:

```



{{n.name}}


数量:{{n.num}}





总价:{{n.num*n.price}}元
  • 写回答

1条回答

  • RookieGz 2018-11-26 07:16
    关注

    终于搞明白了,state里无法监听二级数据变化在每一次添加购物车都触发一下car的以及数据变化

    ```state.car.push({})//强制触发state的数据监听
        state.car.pop()
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常
  • ¥15 关于风控系统,如何去选择