问题描述
我所有的Vuex模块都使用基本的UPSERT
,UPDATE
,DELETE
函数,所以我希望不要在组件中键入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)
}