我有几个自定义js对象,其中封装了针逻辑。 因此,这些对象与vuex根本没有任何关系,就像这样:
export default class Property {
constructor(object) {
// some logic
}
addChild(property) {
// some logic
}
}
此外,我在vue组件中有一个按钮,它触发了vue方法:
methods: {
addItem() {
this.property.addChild();
},
},
有问题:
this.property
-它是来自vuex存储的对象。
因此,当我以这种方式调用方法时,会出现vue错误:
Error: [vuex] Do not mutate vuex store state outside mutation handlers.
是的,我知道Vue想要什么。 但是对我来说,将一些复杂的逻辑封装在针对象中更为清晰。另外,我想将vuex用于全局应用程序状态。
所以,请您分享一下如何处理vuex和自定义对象方法的经验吗?
答案 0 :(得分:0)
如果您想使用vuex,则只需使用mutation更改其状态即可。
因此,在Property对象的addChild
函数中,
您将在哪里更改状态,我想您会这样做
Store.state.xxx = 'new'
与其说那样做,不如说是突变
Store.commit('alterState')
在复杂性方面并没有太大差异,对吧?