Vuex:添加到原型,以便我可以做类似object.save的事情?

问题描述

我所有的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 。我假设我需要在此文件中导入一些内容,然后在类声明中使用它。我只是不确定应该是什么。

解决方法

这比我想像的要简单。基本上,将商店导入文件:

import store from '@/store'

然后,填写保存方法:

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...