解決vuex改變了state的值,但是頁面沒有更新的問題
阿新 • • 發佈:2020-11-13
當state裡屬性定義為obj型別時,有時候出現:在其他頁面修改完state值之後,其他頁面並沒有同步更新。
這時候需要轉換一下。JSON.parse(JSON.stringify(obj))
this.$store.dispatch("setGlobalUserInformation",JSON.parse(JSON.stringify(obj)))
補充知識:一個“錯誤”的vuex寫法:vuex重新整理了資料但是檢視沒有重新整理
這是個很尷尬的問題,讓我猜猜看你的程式碼是不是這樣寫的:
<template> <div id="app"> <img src="./assets/logo.png"> <button @click="clickme">點選我</button> <span>{{countnumber}}</span> </div> </template> <script> export default { name: 'app',data() { return { countnumber: this.$store.state.count,} },methods: { clickme: function() { this.$store.commit("increment"); } },} </script> <style> </style>
那麼恭喜你,無論你怎麼平明點,都會是0.但是如果你是下面這種寫法,那就是正確的了:
<template> <div id="app"> <img src="./assets/logo.png"> <button @click="clickme">點選我</button> <span>{{$store.state.count}}</span> </div> </template> <script> export default { name: 'app',data() { },} </script> <style> </style>
區別就是你直接關聯到介面裡面。為什麼這樣?不清楚,畢竟是別人的框架。
以上這篇解決vuex改變了state的值,但是頁面沒有更新的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。