【问题标题】:Vuex dynamic array without declaration at startVuex动态数组在开始时没有声明
【发布时间】:2021-05-26 05:48:28
【问题描述】:

我有一个包含布尔“数组”的状态。

state:{ myArray:{} }

我使用突变来设置值

 mutations: {
        Deactivate: function (state, name) {
          
            var storeName = 'Default';
            if (name)
                storeName = name.storeValue;
           
            state.myArray[storeName] = false; //got a function for activate
           
        },

我有一个组件使用具有给定“名称”的数组。

this.$store.state.ABC.myArray[this.name];

除非我在状态声明中声明布尔值,否则我的组件永远不会用存储值刷新。

    state:{ myArray:{ Default: false } }

我是否遗漏了一些东西,以便刷新使用数组的组件并且我没有声明数组的每个部分。 (动态数组/对象)

【问题讨论】:

    标签: vuejs2 vuex-modules


    【解决方案1】:

    在文件的开头,您可以导入 vue setter:

    import { set } from 'vue'
    

    当您为对象分配键/值时,您应该使用这种方法:

    set(state.myArray, 'storeName',  false); 
    

    请看https://vuejs.org/v2/guide/reactivity.html#For-Objects

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-09
      • 1970-01-01
      • 2019-12-16
      • 1970-01-01
      • 1970-01-01
      • 2017-10-06
      • 2016-09-26
      • 1970-01-01
      相关资源
      最近更新 更多