当数组中的数据时,Vuex 状态属性没有反应

时间:2021-01-04 10:49:15

标签: vue.js vuejs2 vuex

每当下面的选择发生变化时,我都会尝试更新图像。

所以我正在处理这样的事情:

<块引用>

HTML

<v-card>
      <v-card-text>
        <v-row justify="center" v-if="getBcForme && getBcForme.img">
          <v-img
              max-width="250px"
              :src="require(`@/assets/${getBcForme.img.dir}`)"
          ></v-img>
        </v-row>
        <v-row justify="center" v-else>
          <v-img
              max-width="250px"
              :src="require(`@/assets/default.jpg`)"
          ></v-img>
        </v-row>
        <v-select
            :value="getBcForme"
            :items="getSelectedFormes"
            item-text="nom"
            return-object
            label="Forme"
            prepend-icon="mdi-shape"
            @change="setBcForme"
        ></v-select>
</v-card>
<块引用>

方法

setBcForme(e) {
      this.$store.dispatch('bc/setBcForme', e);
    }
<块引用>

商店

const state = {
    bc: null,
    bcnew: {
        forme: {}
    }
};

const getters = {
    getBcForme(state) {
        return state.bc.forme;
    }
};

const mutations = {
    SET_BC_FORME(state, payload) {
        state.bc.forme = payload;
    }
};

const actions = {
    setBcForme({commit}, payload) {
        commit('SET_BC_FORME', payload);
    }
};

export default {
    namespaced: true,
    state,
    getters,
    actions,
    mutations
};

当我创建一个新对象时,我将 bcNew 属性转换为 bc 属性。 如果我这样做,那么我的图像更新就好了,但是当我从从数据库中检索到的数组中投射一个元素时,它不会在重新加载组件之前不会触发,打包在 getter 中的观察者不会触发...< /p>

我唯一看到的是数组中对象的结构更改使观察者无法正常工作。

我搜索并发现有人在做深度观察者,但这不适用于观察我认为的状态,或者我可能犯了错误。

我的另一条线索是将状态放入计算属性中,但我无法将其放在一起工作,希望得到一些帮助。

0 个答案:

没有答案