VueXでstate変化が捉えられない_gettersはstateの変化を監視できない
735 ワード
の原因となる
いろいろな原因があるかもしれませんが、今私が出会った状況を話します.state種にはstateという変数があります.それはjsonの対象ですが、私を惨めにしました.彼のこのjsonはこのように成長しているからです.
私がmutationで友達メッセージリストを変更するとき、Vueコンポーネントでwatchを使用しても、VueXでgettersを使用しても、messageBoxが変化するときにリスナーをトリガーすることはできません.ネット上で多くの解决方法を探して、头を悩ませて、最后にやはり1つの土の方法を考えて解决しました.土を見ないで、本当に役に立ちます!
solution
MessageBoxを文字列形式、
いろいろな原因があるかもしれませんが、今私が出会った状況を話します.state種にはstateという変数があります.それはjsonの対象ですが、私を惨めにしました.彼のこのjsonはこのように成長しているからです.
messageBox:{
friendId1: [ {message1}, {message2}, ... ],
friendId2: [ {message1}, {message2}, ... ],
friendId3: [ {message1}, {message2}, ... ],
friendId4: [ {message1}, {message2}, ... ]
}
私がmutationで友達メッセージリストを変更するとき、Vueコンポーネントでwatchを使用しても、VueXでgettersを使用しても、messageBoxが変化するときにリスナーをトリガーすることはできません.ネット上で多くの解决方法を探して、头を悩ませて、最后にやはり1つの土の方法を考えて解决しました.土を見ないで、本当に役に立ちます!
solution
MessageBoxを文字列形式、
messageBox = " {} "
として割り当て、その後mutationでmessageBoxを変更する際にJSONを使用する.parseをjson形式に変換し、変更後に過逆演算JSONを使用する.Stringifyが文字列に変換されると、gettersはstateの変化を自動的にキャプチャできます.