Vue.js 具有vuex计算属性的vue未更新

Vue.js 具有vuex计算属性的vue未更新,vue.js,vuex,Vue.js,Vuex,我正在使用vuex和socket.io更新state.Nodes.Nodes。我正在更新单曲​ 节点(索引4)和使用setInterval记录时,输出_状态和计算的属性完全相同(节点4输出_状态)-它们在变异后不同 computed: { tmpStatus () { if (this.$store.state.Nodes.nodes.length !== 0) { return this.$store.state.Nodes.nodes[4].output_state

我正在使用vuex和socket.io更新state.Nodes.Nodes。我正在更新单曲​ 节点(索引4)和使用setInterval记录时,输出_状态和计算的属性完全相同(节点4输出_状态)-它们在变异后不同

computed: {
  tmpStatus () {
    if (this.$store.state.Nodes.nodes.length !== 0) {
      return this.$store.state.Nodes.nodes[4].output_state
    } else {
      return null
    }
  }
},
created () {
  this.debugInterval = setInterval(() => {
    console.log('Devicesstate', this.$store.state.Nodes.nodes[4].output_state, this.tmpStatus)
  }, 2000)
},
突变是这样完成的:

let nodeFound = state.nodes.filter(item => item.node_id === node.node_id)[0]
let nodeIndex = state.nodes.indexOf(nodeFound)
state.nodes[nodeIndex] = node
更新前的结果(两者相同):
DeviceState true true

更新后的结果-更改为false(它们不同!):
DeviceState false true


我更改了这样的变异(将Vue导入文件):


它是有效的。

我已经改变了这种变异(将Vue导入文件):


而且它是有效的。

您如何更改商店中的价值?有一些是Vue无法检测到的。感谢您的建议-非常有效
Vue.set(state.nodes, nodeIndex, node)
Vue.set(state.nodes, nodeIndex, node)