【问题标题】:Make Vuex state only accessible via getter使 Vuex 状态只能通过 getter 访问
【发布时间】:2021-11-11 13:22:43
【问题描述】:

我们希望在我们的 Vuex 存储中存在一个变量,它应该只能通过 getter 访问。 为了实现这一点,我们需要保护变量不被存储之外的访问。 我们的选择是什么?

【问题讨论】:

  • 让一个变量不在状态,只要你不把它导出为有点私有

标签: typescript vue.js vuex


【解决方案1】:

选项

  1. 虽然不能解决问题,但我们可以使用“_”作为前缀来指示不应访问的变量。这是一个常见的约定,对于有经验的程序员来说应该是可读的。
  2. 不导出在商店中创建的变量使它们可以在商店中访问,但不能在外部访问,模仿私有变量对类的影响。(感谢Lawrence Cherone
  3. this MDN page

默认情况下,类字段是公共的,但可以使用哈希 # 前缀创建私有类成员。这些类功能的隐私封装由 JavaScript 本身强制执行。

  1. 我们可以使用 typescript 来访问私有标识符 (typescriptlang.org)。

【讨论】:

    猜你喜欢
    • 2021-03-28
    • 2019-11-17
    • 2018-04-14
    • 2021-06-01
    • 2023-03-18
    • 2020-07-28
    • 1970-01-01
    • 2020-08-18
    • 1970-01-01
    相关资源
    最近更新 更多