首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Vuex中使用自定义对象方法?

如何在Vuex中使用自定义对象方法?
EN

Stack Overflow用户
提问于 2019-01-15 21:44:04
回答 1查看 591关注 0票数 1

我有几个自定义的js对象,我在其中封装了针逻辑。所以,这些对象与vuex一点关系都没有,就像这样:

代码语言:javascript
运行
复制
export default class Property {
   constructor(object) {
      // some logic
   }
   addChild(property) {
      // some logic
   }
}

另外,我在我的vue组件中有按钮,它触发了vue方法:

代码语言:javascript
运行
复制
methods: {
    addItem() {
        this.property.addChild();
    },
},

还有一个问题:this.property -它是来自vuex存储的对象。因此,当我以这种方式调用方法时,我得到了vue错误:

代码语言:javascript
运行
复制
Error: [vuex] Do not mutate vuex store state outside mutation handlers.

是的,我明白,Vue想要什么。但对我来说,将一些复杂的逻辑封装在指针对象中会更清楚。另外,我想使用vuex来表示全局应用程序状态。

所以,你能分享一下如何处理vuex和自定义对象方法的经验吗?

EN

回答 1

Stack Overflow用户

发布于 2019-07-01 10:46:19

如果你想使用vuex,你只需要使用突变来改变它的状态。因此,在Property对象的addChild函数中,您可以更改状态,我假设您会这样做

代码语言:javascript
运行
复制
Store.state.xxx = 'new'

而不是这样做,而是调用像这样的突变

代码语言:javascript
运行
复制
Store.commit('alterState')

在复杂性方面没有太大的区别,对吧?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54200099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档