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}}元

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

```state.car.push({})//强制触发state的数据监听
    state.car.pop()