Vue.js Spread运算符而不是Vue.set / Vue.delete

时间:2017-02-11 20:52:24

标签: javascript ecmascript-6 vue.js vuex

我想使用spread运算符来添加/删除对象属性,同时保持reactivity

在Vuex突变中,以下工作:

viewWillAppear

但是我想使用spread运算符并返回新对象。我如何实现以下目标?

Vue.set(state.sportTypes.sports, sportName, sportProperties)

1 个答案:

答案 0 :(得分:1)

您应该删除{sportName: sportProperties}

的括号

这将有效:

state.sportTypes.sports = { ...state.sportTypes.sports, sportName: 'football' }

但我建议您声明所有可能的字段,而不是动态添加新属性,然后您不需要使用Vue.set或扩展运算符。