Vue.js 在vuex中使用vue.set不会更新状态

Vue.js 在vuex中使用vue.set不会更新状态,vue.js,vuex,Vue.js,Vuex,我试图将一个对象添加到嵌套数组中,但它不起作用,但我已将其用于其他状态,效果很好 这和它有关系吗?从嵌套数组开始 这是我正在使用的代码 Vue.set(state.sections[getCurrentSection(state).index].rows[getCurrentRow(state).index].columns[getCurrentColumn(state).index].elements, 0, element) 这是元素对象 var element = { id: i

我试图将一个对象添加到嵌套数组中,但它不起作用,但我已将其用于其他状态,效果很好

这和它有关系吗?从嵌套数组开始

这是我正在使用的代码

Vue.set(state.sections[getCurrentSection(state).index].rows[getCurrentRow(state).index].columns[getCurrentColumn(state).index].elements, 0, element)
这是元素对象

var element = {
    id: id,
    style: {
        backgroundColor: {
            value: 'rgba(255,255,255,1)',
        },
    },
}

我做错了什么?更新

克隆的另一个选项:

函数hasProp(arg1、arg2){
返回Object.prototype.hasOwnProperty.call(arg1,arg2);
}
函数扩展(arg1、arg2){
常量键=Object.keys(arg2);
const len=keys.length;
设i=0;
而(我

  • 把你的
    状态记录下来
    
  • 创建一个新的
    对象
    ,并对其进行修改
  • 用新对象替换
    state.sections
    state.sections=object.assign({},newObject)

  • 您的
    状态和视图已更新。

    更新

    克隆的另一个选项:

    函数hasProp(arg1、arg2){
    返回Object.prototype.hasOwnProperty.call(arg1,arg2);
    }
    函数扩展(arg1、arg2){
    常量键=Object.keys(arg2);
    const len=keys.length;
    设i=0;
    而(我

  • 把你的
    状态记录下来
    
  • 创建一个新的
    对象
    ,并对其进行修改
  • 用新对象替换
    state.sections
    state.sections=object.assign({},newObject)

  • 您的
    状态
    和视图已更新。

    是的,因为您使用的是嵌套数组。Vue无法检测到对
    状态索引的更改。节
    真的吗?!?有解决方法吗?在看不到任何vuex模块的情况下,我的建议是从嵌套阵列更改数据模型。固定了它,我只需要更新所有嵌套对象,使它们都是最新的:)好的,这听起来是一种非常全面的方法,但是如果你高兴,我也高兴是因为你使用的是嵌套数组。Vue无法检测到对
    状态索引的更改。节
    真的吗?!?有解决方法吗?在看不到任何vuex模块的情况下,我的建议是从嵌套阵列更改数据模型。固定了它,我只需要更新所有嵌套对象,使它们都是最新的:)好的,这听起来像是一种非常全面的方法,但如果你高兴,我很高兴