,可以通过以下步骤实现:
// store.js
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
const store = new Vuex.Store({
state: {
myArray: [] // 定义一个空数组
},
mutations: {
updateArray(state, newArray) {
state.myArray = newArray // 更新数组状态
}
},
actions: {
fetchArray({ commit }) {
// 异步获取数组数据的操作
// 可以通过API请求或其他方式获取数据
const newArray = [1, 2, 3, 4, 5] // 假设获取到的数组数据
commit('updateArray', newArray) // 提交mutation更新数组状态
}
},
getters: {
getArray: state => {
return state.myArray // 获取数组状态
}
}
})
export default store
// MyComponent.vue
<template>
<div>
<button @click="fetchArray">获取数组</button>
<ul>
<li v-for="item in myArray" :key="item">{{ item }}</li>
</ul>
</div>
</template>
<script>
import { mapActions, mapGetters } from 'vuex'
export default {
computed: {
...mapGetters(['getArray']), // 映射getArray getter
myArray() {
return this.getArray // 获取映射的数组状态
}
},
methods: {
...mapActions(['fetchArray']) // 映射fetchArray action
}
}
</script>
在上述代码中,我们在组件中使用了mapActions
和mapGetters
辅助函数来映射Vuex的actions和getters,以便在组件中使用。
myArray
来展示存储在Vuex中的数组。当点击"获取数组"按钮时,会触发fetchArray
action,该action会异步获取数组数据并更新Vuex中的数组状态。这样,当Vuex中的数组状态更新时,组件中的myArray
也会自动更新,从而展示最新的数组数据。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云对象存储(COS)。
领取专属 10元无门槛券
手把手带您无忧上云