如何将数据从 VueJS 组件传递到 main.js?



是否可以将 data(( 方法中组件中定义的数据发送到 main.js 文件(或定义 Vue 实例的位置(?我以为我可以使用 vueX 执行以下操作,但即使在了解了计算的道具、getter 和突变之后,我也不知道如何处理它:

Data in Component -> Store -> Main.js

编辑:如何从 COMP 中设置VUEX商店中的数据?

假设存储有一个名为 currentList 的属性,其值需要从 Component1.vue 中的列表输入。我将如何将该列表发送到 VueX 商店?

如果你想将数据从组件传递到 Vuex $store,你应该使用 Mutations(或者操作,如果数据异步进入你的组件(。

假设您的突变已在存储中定义(并且存储已正确设置(,则可以从组件调用它,如下所示:

this.$store.commit("YOUR_MUTATION", "data"(

我确实推荐浏览器中的 vue 工具来跟踪您商店中的内容。

我不知道 Vue,但我相信我明白你在找什么。 你在这里试图实现的,在所有其他前端框架中,可以称为:"组件到父级的通信"。

你可以有一个 4 级嵌套组件,你想将一些数据传递给 Main.js(我想,在 Vue 中,它仍然是一个组件,确切地说是根组件(

如我所见,您可以使用$emit:https://forum.vuejs.org/t/passing-data-back-to-parent/1201 在 React 中(你也可以在 Vue 中这样做,但你应该选择 vue 风格的解决方案(,你会使用一个回调函数:父级将一个函数传递给子级,子级可以调用该函数来设置父级 comp 中的某个属性。

如今,完全避免这种通信的另一个常见选择是使用像Redux这样的状态管理库。因为每个组件都可以访问全局存储(类似于全局变量(,并且在第 4 级组件在此全局存储中设置属性后,主.js可以读取它。

最新更新