Javascript 访问Vuex存储中组件的数据属性

Javascript 访问Vuex存储中组件的数据属性,javascript,vue.js,vuejs2,vuex,Javascript,Vue.js,Vuejs2,Vuex,我有一个数据如下的组件: export default { data() { return { allItems: [], orderItems: {}, itemAdded: [], }; }, 我想访问Vuexstore.js文件中本地组件中的itemsadded数组数据。 是否仍要这样做?您无法从vuex访问组件数据,您可以做的是在调度vuex操作时将数据作为有效负载传递 例如,您的vuex操作: 操作:{ doSomethin

我有一个数据如下的组件:

export default {
  data() {
    return {
      allItems: [],
      orderItems: {},
      itemAdded: [],
    };
  },
我想访问Vuex
store.js
文件中本地组件中的
itemsadded
数组数据。
是否仍要这样做?

您无法从vuex访问组件数据,您可以做的是在调度vuex操作时将数据作为有效负载传递

例如,您的vuex操作:

操作:{
doSomething(上下文,添加项){
//做点什么
}
}
并从组件中分派操作:

this.store.dispatch('doSomething',this.itemsadded);
如果要通过vuex操作更改组件上的
itemsadded
值,可以返回如下值:

操作:{
doSomething(上下文,添加项){
//做点什么
添加退货项目;
}
}
在您的组件上:

//需要使用wait,因为dispatch返回承诺,您也可以使用`。然后`
this.itemsadded=等待此.store.dispatch('doSomething',this.itemsadded);

请记住,Vuex是一种状态管理,Vuex操作应该执行与状态相关的操作,而不是存储“可重用函数”的位置。我想不出任何情况下为什么要从操作返回编辑过的值,但是如果您认为它有意义/它与状态相关,那么您可以这样做。

您不能从vuex访问组件数据,您可以做的是在调度vuex操作时将数据作为有效负载传递

例如,您的vuex操作:

操作:{
doSomething(上下文,添加项){
//做点什么
}
}
并从组件中分派操作:

this.store.dispatch('doSomething',this.itemsadded);
如果要通过vuex操作更改组件上的
itemsadded
值,可以返回如下值:

操作:{
doSomething(上下文,添加项){
//做点什么
添加退货项目;
}
}
在您的组件上:

//需要使用wait,因为dispatch返回承诺,您也可以使用`。然后`
this.itemsadded=等待此.store.dispatch('doSomething',this.itemsadded);

请记住,Vuex是一种状态管理,Vuex操作应该执行与状态相关的操作,而不是存储“可重用函数”的位置。我想不出任何情况下为什么要从操作返回编辑过的值,但如果您认为它有意义/它与状态相关,那么您可以这样做。

但是如果我在store中更改itemAdded,它是否会更改。js您将在vuex中保存另一个数据。您将传递添加到vuex的项目或操作,并在vuex中使用它。因此itemAdded将是相同的,但您可以将其放在vuex存储中,随时随地使用。不,它不会更改组件上的值,您可以从vuex操作返回更改后的值,并将其指定给组件值,例如,检查我的编辑。但是如果我在store.js中更改itemAdded,它是否会更改。您将在vuex中保存另一个数据。您将传递添加到vuex的项目或操作,并在vuex中使用它。因此itemAdded将是相同的,但您可以将其放在vuex存储中,随时随地使用。不,它不会更改组件上的值,您可以从vuex操作返回更改后的值并分配到组件值,例如,检查我的编辑。