我想在保持reactivity的同时使用spread操作符添加/删除对象属性。
在Vuex突变中,以下工作:
Vue.set(state.sportTypes.sports, sportName, sportProperties)
但是我想使用传播运算符并返回新对象。我将如何实现以下目标?
state.sportTypes.sports = {...state.sportTypes.sports, {sportName: sportProperties}}
最佳答案
您应该删除{sportName: sportProperties}
的括号
这将起作用:
state.sportTypes.sports = { ...state.sportTypes.sports, sportName: 'football' }
但是我建议您声明所有可能的字段,而不是动态添加新属性,这样就无需使用
Vue.set
或spread运算符。