2017-01-26 9 views
1

次変異が動作しません:変異配列Vuex

const mutations = { 
    [types.UPDATE_IMG_URLS] (state, newArray) { 
    state.imageUrlArray.concat(newArray) 
    }, 
(...) 
} 

は、しかし、この1の処理が行われます。

const mutations = { 
    [types.UPDATE_IMG_URLS] (state, newArray) { 
    state.imageUrlArray = state.imageUrlArray.concat(newArray) 
    }, 
(...) 
} 

私は配列やオブジェクトをJavaScriptで参照によって渡されたと思いました。 Vuexはこの動作に憂慮していますか?

答えて

1

concatメソッドは既存の配列を変更しませんが、新しい配列を返します。そのため、state.imageUrlArrayを新しく返された配列で積極的に上書きする必要があります。

何らかの理由で、あなたが所定の位置に変異を作りたい、場合は、これにことができるようになります。state.imageUrlArray(state.imageUrlArray, newArray)

詳細はhttps://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/concatを参照してください。

関連する問題