【发布时间】:2021-03-16 00:45:14
【问题描述】:
我们想做的事情是让尽可能多的业务逻辑远离 UI 逻辑。特别是......喜欢设置一个服务类型的 Typescript 类,它可以与一些 Node Module API 交互并更新 Vuex 中的应用程序状态。 而不是让 Vue 组件直接担心这个业务逻辑。
有没有一种方法可以在单独的 .ts/.js 文件中使用这个 vuex 类库装饰器与 Vuex 交互?那么就像创建一些 ES 类,并在其中包含一个 store、getter、mutations 等来与我的 Vuex 状态交互?
//fooService.ts .......or something like that
import ...
export default class FooService {
@FooModule.State
private FooModel!: FooModel;
@FooModule.Getter
private foo!: Foo;
@FooModule.Mutation
private setFoo!: (newFoo: Foo) => void;
private doFooBusinessLogic(){ ... }
}
然后在 Vue 组件中初始化这个类并调用它来与这个 Vuex 数据进行交互。
而不必在 Vue 组件中与 Vuex 进行所有交互。
【问题讨论】: