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

标签 javascript ecmascript-6 vue.js vuex

我想使用扩展运算符来添加/删除对象属性,同时维护 reactivity .

在 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 或展开运算符。

关于javascript - Vue.js Spread 运算符而不是 Vue.set/Vue.delete,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42181103/

相关文章:

mongodb - Electron应用程序可以捆绑VueJS,MongoDB等吗?还是需要在用户PC上安装它们才能运行该应用程序?

javascript - 将处理后的 CSS 提取为 VueJS 组件上的属性以供运行时使用

javascript - 调用 flash externalInterface 回调时发生 SCRIPT 16389 错误

javascript - 在 Jquery 函数上使用箭头函数

javascript - es6类继承

eloquent - Vue 2 Laravel 5.3 Eloquent 无法从对象检索数据

javascript - 与 swiper 结合使用时奇怪的 ngx-translate 行为

javascript - 为什么通过函数参数从 div 获取文本不起作用?

javascript - 使用无法在页面上工作的书签注入(inject) jQuery

javascript - 如何使用对象字段的动态值?