【发布时间】:2021-04-15 21:09:48
【问题描述】:
如何使用 vuejs 从 vuex 存储中获取数据?
这是我的代码: index.js
Vue.use(Vuex);
export default new Vuex.Store({
modules: {
data
}
})
数据.js
import axios from 'axios';
const state = {
data: ''
};
const getters = {
getData: (state) => {
return state.data;
}
};
const actions = {
async fetchData({ commit }, { id }) {
const response = await axios.get(`http://someUrl?id=${id}`);
console.log(response.data);
commit('setData', response.data);
}
}
const mutations = {
setData: (state, data) => (state.data = data)
}
export default {
state, getters, actions, mutations
}
我要获取此数据的 Vue 文件:
<script>
import FooterComponent from "@/components/Footers/Footer.vue";
import { mapGetters, mapActions } from 'vuex';
export default {
data() {
return {
id: ""
}
},
name: "Index",
methods: {
...mapActions(["fetchData"]),
launchFetchData() {
this.fetchData({ id: this.id})
this.$router.push("login");
}
},
computed: mapGetters(["getData"])
}
</script>
那么,如何在不同的 vue 文件/模板上显示来自 vuex 存储的数据?
感谢您的帮助
【问题讨论】:
-
你在哪里导入你的 index.js ?
标签: javascript typescript vue.js vuex