问题描述
向社区问好!这是我在 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 相比,没有其他选择可以帮助你