【发布时间】:2020-03-09 18:07:03
【问题描述】:
我正在构建一个应用程序,但不知道如何用有助于我在 Google 上找到任何内容的方式来表达这个问题。
我的问题是:当使用 Vuex store 和一些额外的类时,视图组件是直接访问这些类的最佳做法还是应该只通过 store 访问它们? p>
更多细节:目前,我的项目有一个带有模块的 Vuex 商店(userModule 管理当前登录的用户,uiModule 管理某些用户界面元素的可见性和内容等)。
我也有一些服务。 AuthService 包含与 Firebase 的 Auth 通信的方法,DatabaseService 包含 Firestore 读/写方法。
我将服务导入到需要它们的 Vuex 存储模块中,并根据需要通过存储访问它们。阅读我的代码,在某些情况下,我直接从视图中访问了服务——例如,Login.vue 导入 AuthService 并直接访问它。像这样:
import authService from '../services/auth.service';
export default {
...
computed() {
authService() { return authService }
}
...
}
<button>{{authService.auth.currentUser() ? 'log out' : 'log in'}}</button>
我认为总体而言,使用 Store 会更好,因为它会减少我导入同一对象的次数 - 尽管我不确定多次导入同一对象有多大的顾虑。感谢您的确认和讨论。
谢谢!
【问题讨论】: