这是我的商店的样子:
const state = {
user: {
profile: {
phoneNumber: '',
}
}
}
const mutations = make.mutations(state)
const actions = {
submitPhoneNumber({commit}, phone_number) {
// blah blah
commit('[email protected]', phone_number);
}
}
但是找不到这种突变。也许我可以在store.js中导入store.js并使用set
帮助器,但是我相信事情会变得非常令人毛骨悚然,特别是因为库创建者做出了将提交和分派结合在一起的(我认为很差)设计决定(我相信在这里露骨会好得多)
在此处验证作者。
您不能使用Vuex突变使用子属性语法来进行突变,因为Vuex会将其视为字符串。
您是正确的,您需要使用store.set()
来执行此操作。
您可以通过将!
附加到调用中来明确提交和分派。这称为“直接语法”:
要直接使用子属性语法进行提交,请使用Payload
类:
类似这样的方法应该起作用:
import { Payload } from 'vuex-pathify'
commit('SET_USER', new Payload('SET_USER', @profile.phoneNumber', phone_number);
好像我还没有记录下来,所以我在这里订了票:
它使用的是来自组件的提交,但应该可以完全相同。
人们以前曾问过在动作中是否可以使用Pathify样式的提交,我说不是,但是我只是想到了可能的事情。
按照此功能要求获取更多信息: