VueJS组件之间如何复用axios调用得到的数据?
How to reuse data obtained by axios calls between VueJS components?
如果这个问题已经被问到,我很抱歉,但我似乎找不到清楚解释我的问题。
问题:我有一个网页显示客户的问题。此页面需要客户端 ID 或问题编号等数据才能在页面的不同部分显示它(header、菜单、body)。这个数据是通过axios调用得到的。
所以我有多个组件需要来自同一个 axios 调用的相同数据。
我不明白如何进行 one axios 调用,例如客户端 ID,并与多个组件共享它而不是进行 axios 调用 每次 我都需要数据。
mixin 是解决方案吗?
我试过使用mixin:
Vue.axiosGet({
methods: {
request: function(url) {
return axios.get(url).then(response => {
return response.data;
});
}
}
});
但现在我不知道在哪里或如何存储我将获得的数据。
编辑:我忘了说清楚我不想使用 VueX。
你说你不想用Vuex,为什么呢?我建议您使用 Vuex 商店来实现您正在寻找的东西。一个 vuex store 将 cache/hold 信息放在里面,这意味着你可以很容易地在不同的页面上访问它。 Vuex 将解决您的问题并允许您进行一次调用,然后访问数据。无需重新发明轮子,这是实现您所需的有效方法。
如果你真的不想使用 Vuex,总有类似 nedb 的解决方案,但我强烈推荐 Vuex。
如果这个问题已经被问到,我很抱歉,但我似乎找不到清楚解释我的问题。
问题:我有一个网页显示客户的问题。此页面需要客户端 ID 或问题编号等数据才能在页面的不同部分显示它(header、菜单、body)。这个数据是通过axios调用得到的。
所以我有多个组件需要来自同一个 axios 调用的相同数据。
我不明白如何进行 one axios 调用,例如客户端 ID,并与多个组件共享它而不是进行 axios 调用 每次 我都需要数据。
mixin 是解决方案吗?
我试过使用mixin:
Vue.axiosGet({
methods: {
request: function(url) {
return axios.get(url).then(response => {
return response.data;
});
}
}
});
但现在我不知道在哪里或如何存储我将获得的数据。
编辑:我忘了说清楚我不想使用 VueX。
你说你不想用Vuex,为什么呢?我建议您使用 Vuex 商店来实现您正在寻找的东西。一个 vuex store 将 cache/hold 信息放在里面,这意味着你可以很容易地在不同的页面上访问它。 Vuex 将解决您的问题并允许您进行一次调用,然后访问数据。无需重新发明轮子,这是实现您所需的有效方法。
如果你真的不想使用 Vuex,总有类似 nedb 的解决方案,但我强烈推荐 Vuex。