我有几个自定义的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和自定义对象方法的经验吗?
发布于 2019-07-01 10:46:19
如果你想使用vuex,你只需要使用突变来改变它的状态。因此,在Property对象的addChild
函数中,您可以更改状态,我假设您会这样做
Store.state.xxx = 'new'
而不是这样做,而是调用像这样的突变
Store.commit('alterState')
在复杂性方面没有太大的区别,对吧?
https://stackoverflow.com/questions/54200099
复制相似问题