2017-03-09 63 views
2

我目前正在開發一個web項目。我使用VueJS 2和Vuex 2. 問題是,當我更新我的狀態的一個子數組時,狀態不綁定到視圖。VueJS:Vuex在修改狀態後不更新視圖

我的狀態:

export const state = { 
comments: [], 
} 

和變異:

... 
export const mutations = { 
ADD_REPLY (state, { id, comment }) { 
    let c = state.comments.find((c) => c.id === step); 
    if (c.replies === undefined) 
    c.replies = []; 
    c.replies.push(comment); 
} 
} 
... 

在本例中,當我推回復(ADD_REPLY),它不是在視圖中更新。你有什麼主意嗎 ?

+0

請參閱https://vuex.vuejs.org/en/mutations.html#mutations-follow-vues-reactivity-rules – Phil

+0

@Phil我試圖像這樣使用它'Vue.set(c。回覆,c.replies.length,評論);'但它不起作用 –

+0

也許嘗試'c.replies = c.replies.concat(評論)'。 – Phil

回答

0

根據documentation你只需要擔心設置屬性名稱時的反應性。在你的情況下,這將設置c.replies = [];。所以改爲使用Vue.set(c, 'replies', []);