如何使用 Vue 3 组件内的 Vuex 4 状态数据作为另一个调度的有效负载?
How to use Vuex 4 state data inside Vue 3 component as payload for another dispatch?
我正在使用 Vue 3 Composition API 和 Vuex 4 中的 useStore hook
这就是我在 setup() 中从 vuex 存储获取数据(id)的方式
setup () {
const store = useStore()
const allIds = computed(() => store.state.ids)
function printIds () {
console.log(allIds.value)
}
//...
}
问题是我无法使用 allIds 数组,因为它包含在 Proxy 中。这就是我在 console.log(allIds.value) -
上得到的
当我在模板中使用这个数组时,它工作正常,但我想使用这个数据作为组件内部另一个动作分派的有效负载,使用数组中的一个 id。我怎样才能做到这一点?我找到的所有示例都是在模板中使用商店数据。
谢谢。
代理不会阻止您将数据用作有效载荷,您只需要使用 .value
属性 并从那里正确访问数据。
allIds
变量是一个对象,其 pads
属性 中有一个数组。所以要传递数组中的第一项,例如:
const store = useStore()
const allIds = computed(() => store.state.ids)
store.dispatch('actionName', allIds.value.pads[0]);
商店
actions: {
actionName({ commit }, payload) {
console.log(payload);
}
}
我正在使用 Vue 3 Composition API 和 Vuex 4 中的 useStore hook
这就是我在 setup() 中从 vuex 存储获取数据(id)的方式
setup () {
const store = useStore()
const allIds = computed(() => store.state.ids)
function printIds () {
console.log(allIds.value)
}
//...
}
问题是我无法使用 allIds 数组,因为它包含在 Proxy 中。这就是我在 console.log(allIds.value) -
上得到的当我在模板中使用这个数组时,它工作正常,但我想使用这个数据作为组件内部另一个动作分派的有效负载,使用数组中的一个 id。我怎样才能做到这一点?我找到的所有示例都是在模板中使用商店数据。
谢谢。
代理不会阻止您将数据用作有效载荷,您只需要使用 .value
属性 并从那里正确访问数据。
allIds
变量是一个对象,其 pads
属性 中有一个数组。所以要传递数组中的第一项,例如:
const store = useStore()
const allIds = computed(() => store.state.ids)
store.dispatch('actionName', allIds.value.pads[0]);
商店
actions: {
actionName({ commit }, payload) {
console.log(payload);
}
}