【问题标题】:Is it possible to store instances of custom class in Vuex/(Vue data)?是否可以在 Vuex/(Vue 数据) 中存储自定义类的实例?
【发布时间】:2020-09-12 07:48:45
【问题描述】:

根据 vue 文档,除了普通对象之外,不能存储任何东西。 (https://ru.vuejs.org/v2/api/#data)。我一直用vuex作为DI容器,从这个角度来看。它使 vue 远离我的应用程序业务逻辑,并且可以仅使用没有依赖关系的 JS 来描述业务规则。但是这种方法破坏了 vue 开发工具,并且由于某种原因并非所有测试都通过了。 有没有办法绕过这个限制?例如,类实例可以在 getter 而不是突变中创建。但这对我不起作用,因为我的类的一些构造函数有副作用(这不是最佳实践,但我有)。

【问题讨论】:

  • 你的描述太抽象了,我都看不懂。你能提供一些例子吗?

标签: javascript vue.js vuejs2 vuex vue-reactivity


【解决方案1】:

您绝对可以在存储状态中存储类实例。

我通常存储模型数组,这对于将逻辑保存在一个位置非常有用。

类似:

Api.load('/api/users').then(res => commit('users', res.data.map(User.create)))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-15
    • 2019-09-09
    • 1970-01-01
    • 2018-07-06
    • 2021-07-25
    • 1970-01-01
    • 2019-08-24
    • 2019-03-11
    相关资源
    最近更新 更多