0
state.Nodes.nodes 업데이트에 대해 vuex 및 socket.io를 사용하고 있습니다. 단일 노드 (인덱스 4)를 업데이트 할 때 setInterval을 사용하여 로깅 할 때 output_state와 정확히 동일한 (노드 4 output_state) 속성이 있습니다. 갱신 전에vuex 계산 된 속성이있는 vue가 업데이트되지 않습니다.
let nodeFound = state.nodes.filter(item => item.node_id === node.node_id)[0]
let nodeIndex = state.nodes.indexOf(nodeFound)
state.nodes[nodeIndex] = node
결과 (모두 동일) :
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)
},
돌연변이 그런 식으로 이루어집니다 - (!가 다를 수) 업데이트 후 Devicesstate true true
결과 false로 변경을 : Devicesstate false true
나는 (돌연변이를 파일로 가져 오기) :
Vue.set(state.nodes, nodeIndex, node)
그리고 작동합니다.
어떻게 가게의 가치를 바꾸고 있습니까? Vue가 감지 할 수없는 [특정 어레이 수정] (https://vuejs.org/v2/guide/list.html#Caveats)이 있습니다. –
제안 해 주셔서 감사합니다. –