Vuejs2 从vuex存储更新渲染模板中的数据

Vuejs2 从vuex存储更新渲染模板中的数据,vuejs2,vuex,vuetify.js,Vuejs2,Vuex,Vuetify.js,我正在使用vue、vuetify和vuex做一个简单的crud。但我在更新已在模板中呈现的数据时遇到问题,我的存储状态中的突变正常工作,因此这些更改应在我的模板中更新,但它们保持以前的状态,vuex中的状态不是反应性的?如果有任何变化,他们不应该倾听,改变它的价值吗 这是我的模板,我使用我的存储中的getter在表中进行迭代: <v-data-table :headers="headers" :items="categories" :search="search" > <

我正在使用
vue
vuetify
vuex
做一个简单的crud。但我在更新已在模板中呈现的数据时遇到问题,我的存储状态中的突变正常工作,因此这些更改应在我的模板中更新,但它们保持以前的状态,vuex中的状态不是反应性的?如果有任何变化,他们不应该倾听,改变它的价值吗

这是我的模板,我使用我的存储中的getter在表中进行迭代:

<v-data-table
 :headers="headers"
 :items="categories"
 :search="search"
>
 <template slot="items" slot-scope="props">
   <td>{{ props.item.name }}</td>
   <td>{{ props.item.description }}</td>
   <td>
     <v-btn icon class="mx-0" @click="editItem(props.item)">
       <v-icon color="teal">edit</v-icon>
     </v-btn>
     <v-btn icon class="mx-0" @click="deleteItem(props.item)">
       <v-icon color="pink">delete</v-icon>
     </v-btn>
   </td>
 </template>
 </v-data-table>
这是我存储的一个总结,正如我之前提到的,我执行的所有突变都会工作,状态会根据发生的突变类型进行修改,但这并没有反映在我的模板中,vuex中有一些我没有正确处理的东西吗

const state = {
  categories: []
}

const mutations = {
  GET_CATEGORIES(state, categories) {
    state.categories = categories.reverse()
  },

  ADD_CATEGORY(state, category) {
    state.categories.unshift(category)
  },

  UPDATE_CATEGORY(state, category) {
    const index = state.categories.findIndex(x => x.id == category.id)
    state.categories[index] = { ...state.categories[index], ...category }
  },

  DELETE_CATEGORY(state, category) {
    state.categories.splice(category, 1)
  }
}

您正在使用MapGetter,但我在您的代码中没有看到任何Getter

在此处阅读有关getter的信息:

在此处阅读如何将状态映射到道具:

关于这一行的一个重要注意事项是state.categories[index]={…state.categories[index],…category}

了解Vue中阵列和对象的反应性:


希望能有所帮助。

我正在正确导出我的getter,我在我的商店中共享的代码只是一个摘要,我的所有变体也能正常工作。我的问题是这些变化没有反映在我的报告中template@FeRcHo可以我刚提了一个建议。但是如果没有实际的代码,很难说里面发生了什么。
const state = {
  categories: []
}

const mutations = {
  GET_CATEGORIES(state, categories) {
    state.categories = categories.reverse()
  },

  ADD_CATEGORY(state, category) {
    state.categories.unshift(category)
  },

  UPDATE_CATEGORY(state, category) {
    const index = state.categories.findIndex(x => x.id == category.id)
    state.categories[index] = { ...state.categories[index], ...category }
  },

  DELETE_CATEGORY(state, category) {
    state.categories.splice(category, 1)
  }
}