Javascript 变异数组
以下突变不起作用:Javascript 变异数组,javascript,vue.js,vuex,Javascript,Vue.js,Vuex,以下突变不起作用: const mutations = { [types.UPDATE_IMG_URLS] (state, newArray) { state.imageUrlArray.concat(newArray) }, (...) } 然而,这一点: const mutations = { [types.UPDATE_IMG_URLS] (state, newArray) { state.imageUrlArray = state.imageUrlArray
const mutations = {
[types.UPDATE_IMG_URLS] (state, newArray) {
state.imageUrlArray.concat(newArray)
},
(...)
}
然而,这一点:
const mutations = {
[types.UPDATE_IMG_URLS] (state, newArray) {
state.imageUrlArray = state.imageUrlArray.concat(newArray)
},
(...)
}
我认为数组和对象在Javascript中是通过引用传递的。Vuex是否干预了此行为?concat方法不会更改现有数组,而是返回一个新数组。这就是为什么需要使用新返回的数组主动覆盖
state.imageUrlArray
如果出于某种原因,您希望进行适当的变异,您应该能够执行以下操作:state.imageUrlArray(state.imageUrlArray,newArray)
有关更多详细信息,请参阅