2017-03-09 15 views
2

私は現在ウェブプロジェクトを行っています。 VueJS 2とVuex 2を使用しています。 問題は、自分の状態のサブアレイを更新すると、その状態がビューにバインドされていないことです。VueJS:Vuexは状態を変更した後にビューを更新しません

私の状態:

export const state = { 
comments: [], 
} 

および変異:このexempleで

... 
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://vuexs.vuejs.org/en/mutations.html#mutations-follow-vues-reactivity-rules – Phil

+0

@Philこのように使用しようとしました。Vue.set(c。返信、c.replies.length、comment); 'しかし、それはうまくいきません –

+0

おそらく、' c.replies = c.replies.concat(comment) 'を試してみてください。 – Phil

答えて

0

documentationによれば、プロパティ名を設定するときの反応性についてのみ心配する必要があります。あなたの場合、これはc.replies = [];に設定されます。代わりにVue.set(c, 'replies', []);

関連する問題