如何在 vue 中正确存储非反应性和静态数据?

问题描述

向社区问好!这是我在 StackOverflow 上的第一个问题。

我使用 vue.js-v2 和 webpack。我需要为子组件提供不可变数据。组件通过 vue-router 加载。不同的页面需要相同的数据。

我从一个 JSON 文件中导入数据,并使用“main.js”将其集成到 vue 中:

//main.js
import Vue from 'vue'
import ...
import myData from './path/file.json' // [{},{},{}...]
Vue.prototype.$storage = myData
new Vue({ router,.....

然后我在不同的组件中使用类似的东西:

//pageX.vue
...
this.componentvar = this.$storage.filter((x) => x.name === 'needname')

不知何故它起作用了。我担心我是否做对了。我害怕在组件或类似的东西中复制数据,因为我对 javascript 的了解很糟糕:(

解决方法

你必须使用 Vuex 来存储这些数据......应用程序的状态是否不可变必须有一个绝对的真实来源,在这种情况下,与 Vuex 相比,没有其他选择可以帮助你

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...