1. 程式人生 > 程式設計 >解決vuex改變了state的值,但是頁面沒有更新的問題

解決vuex改變了state的值,但是頁面沒有更新的問題

當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的值,但是頁面沒有更新的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。