javascript - 如何在 Vuex 中存储非 react 性数据?

标签 javascript vue.js vuejs2 vuex

我有数据,在 VueJS 应用程序初始化之前在页面上加载过一次,并且此数据不会一直更改,而 html 页面不会重新加载(经典的 CGI 应用程序,不是 SPA)。数据示例:

const nonReactiveObjectWithSomeNestedData = {
  a: 'a',
  b: {
    bb: 'bb',
    cc: { ccc: 'ccc' },
    dd: ['dd1', 'dd2']
  }
}

我在几个 vue 组件中使用这些数据。将这些数据存储在 Vuex 命名空间模块中并使用 Vuex-getters 为不同的 vue-components 包装相同的功能会很方便。有什么方法可以不将此数据存储在 vuex state 中(不需要 react 性)但能够从 vuex 模块的 getter 访问?

PS. 目前我正在使用存储非 react 性数据 inside vue-instance方法,但现在还不够,我需要对数据进行更多全局访问(来自两个独立的根组件)。

最佳答案

在将对象添加到存储之前卡住对象:

Object.freeze(nonReactiveObjectWithSomeNestedData )

Vue 不会使卡住的对象具有反应性。

注意:您应该在对象进入 Vuex 突变/ Action 之前卡住它:

this.$store.dispatch('moduleName/setNonReactiveObject', 
    Object.freeze(nonReactiveObjectWithSomeNestedData));

在突变函数内部,有效载荷参数已经是 react 性的。

关于javascript - 如何在 Vuex 中存储非 react 性数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47452401/

相关文章:

javascript - Vue + Vuetify 清除表单时的验证问题

vue.js - "export ' createApp ' was not found in ' vue'

javascript - 如何知道这个表单是从哪个表单加载的

javascript - 如何防止 Kendo UI 组合框在数据读取时重新填充?

javascript - Vue - webpack vue-loader 配置

javascript - Vue.js : How persistent is the data of the state properties in Vuex?

javascript - Vue 3 国际化问题 : The message format compilation is not supported in this build

javascript - 在 Vue SPA 站点中重新加载同一页面

javascript - 如何解决 Android Phonegap 应用程序 SyntaxError : Parse error?(黑屏问题)

javascript - 从 html 文件加载 HTML 到 Vue div