【问题标题】:Vuex: add to prototype so I can do something like object.save()?Vuex:添加到原型,以便我可以执行 object.save() 之类的操作?
【发布时间】:2020-09-04 19:25:30
【问题描述】:

我所有的 Vuex 模块都使用基本的UPSERTUPDATEDELETE 函数,所以我不想在我的组件中输入this.$store.dispatch('UPSERT', object),而是输入object.save()。我认为这很容易,但不确定这样做是否有任何问题或如何做到这一点。

    export interface ITaskMessage {
      id?: string
      message: string | null
      save(): any
    }
    
    export class TaskMessage implements ITaskMessage {
      id?: string
      message: string | null = ''
      save() {
        window._actions['UPSERT']
      }
    }

此代码来自模块内的 types.ts。我假设我需要在这个文件中导入一些东西,然后在类声明中使用它。我只是不确定它应该是什么。

【问题讨论】:

    标签: vuejs2 vuex vuex-modules


    【解决方案1】:

    这比我想象的要简单。基本上,将 store 导入到文件中:

    import store from '@/store'
    

    然后,填写保存方法:

      public save() {
        store.dispatch('UPSERT', this)
      }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-15
      • 1970-01-01
      • 1970-01-01
      • 2021-05-22
      • 2014-10-12
      • 1970-01-01
      相关资源
      最近更新 更多