监听watch踏坑之旅!!!vuex中如果数组发生变换但是用watch你监听不到

vuex:

  SET_INFO(state,info) {
      console.log('info',info)
      state.info.unshift(info)
      state.info.pop()

      console.log("newstate.info", state.info)
    }

监听:

watch: {
        'info': function (newval, oldval) {
          if (oldval != newval) {
            console.log('newval',newval)
            console.log('oldval',oldval)
          }

        },

你以为这样你能监听到???错了 你根本就监听不到,虽然数组发生了变化。但是你就是监听不到 知道为什么吗???我也不知道,但是转换一下就能见听到了

 SET_INFO(state,info) {
      console.log('info',info)
      state.info.unshift(info)
      state.info.pop()
      let __VALUE__ = JSON.parse(JSON.stringify(state.info))
      state.info = __VALUE__
      console.log("newstate.info", state.info)
    }

这样就可以监听到了 操 为什么为什么为什么

原文地址:https://www.cnblogs.com/hy96/p/12650027.html