根据vue文档,除了普通对象之外,无法存储任何其他内容。 (https://ru.vuejs.org/v2/api/#data)。我总是将vuex用作DI容器,从这个角度来看,我会看到它。它避免了我的应用程序业务逻辑的烦恼,并且使得仅使用不依赖于JS的业务描述成为可能。但是这种方法破坏了vue开发工具,由于某种原因,并非所有测试都能通过。 有办法避免这种限制吗?例如,可以在getter中而不是在变异中创建类实例。但这对我不起作用,因为我的类的某些构造函数会产生副作用(这不是最佳实践,但我有这种想法)。
答案 0 :(得分:1)
您绝对可以在存储状态下存储类实例。
我通常存储模型数组,这对于将逻辑放在一个地方真的很有用。
类似的东西:
Api.load('/api/users').then(res => commit('users', res.data.map(User.create)))