【发布时间】:2019-07-06 13:51:25
【问题描述】:
我想知道是否可以仅将单个属性分派到 vuex 存储而不是整个对象。 vuex docs 中没有任何可能性。目前我这样存储对象:
store.dispatch('currentUser', {
memberData: 'fooBar'
});
有时我只想从数据库中获取一个值并将其推送到存储中。有没有办法做到这一点?
更新
我认为我的问题不清楚。
实际上我需要在 dispatch 中访问 memberData 的一个子嵌套属性,以只更改 memberData 的一个元素。老实说,反应是什么并不重要。也可以是 'foo'。
【问题讨论】:
-
目标是发送
response[0]作为有效负载而不需要将其分配给属性memberData?还是您的意思是发送response[0]的属性?假设response[0]等于{ name: "foo" },你的意思是要发送name的值吗? -
实际上我需要在调度中访问
memberData的子嵌套属性,以仅更改memberData的一个元素。老实说,response是什么并不重要。也可以是'foo'。 -
好的,
memberData是否存储在store中?目标是将特定属性的更改与商店中现有的memberData对象“合并”吗?你知道什么属性会被改变吗?或者您打算发送一个带有键/值对的对象来表示所需的更改?您能否更新您的问题,忽略 Vue/Vuex,并展示您想用纯 JavaScript 做什么?您的原始对象是什么样的以及将如何使用即将发生的更改? -
是的,它存储在
store中,我也使用state、mutations、actions和getters。memberData是state中的一个空对象,将与有效负载一起调度。现在memberData包含propA: 1, propB: 'bar'。之后我只想更改propB的值,而不是整个对象。
标签: javascript vue.js ecmascript-6 vuejs2 vuex