我不想使用文档中描述的状态扩展 vuex-orm 模型: https ://vuex-orm.org/guide/digging-deeper/vuex-module.html#defining-state
改变模型中定义的状态的最佳方法是什么?通过定义静态函数?我不知道如何在模型中使用动作和突变?
这是我的方法:
import { Model } from '@vuex-orm/core'
export default class Todo extends Model {
static entity = 'todos'
static state () {
return {
selected_id: null
}
}
static fields () {
return {
id: this.attr(null),
title: this.string(''),
}
}
static updateSelectedTodo (selected_id) {
Todo.commit((state) => {
state.selected_id = selected_id
})
}
}
在组件内部,我有一个方法,它触发静态 todo 方法,如下所示:
methods: {
updateSelectedTodo (selected_id) {
Todo.updateSelectedTodo(selected_id);
},
}
但这已经不再感觉到 vuex 的存在了。还是定义一个 vuex 模块并将其传递给它的更好方法,如下所述:https ://vuex-orm.org/guide/digging-deeper/vuex-module.html#defining-modules
但是这种方法会将状态和突变定义拆分到一个单独的文件中。