0

如果这个问题已经被问过,我很抱歉,但我似乎无法为我的问题找到明确的解释。

问题:我有一个显示客户问题的网页。此页面需要客户端 ID 或问题编号等数据才能在页面的不同部分(标题、菜单、正文)显示。这些数据是通过 axios 调用获得的。

所以我有多个组件需要来自同一个 axios 调用的相同数据。

我无法理解如何进行一次axios 调用,例如客户端 ID,并与多个组件共享它,而不是每次我需要数据时都进行 axios 调用。

mixins 是一个解决方案吗?

我尝试使用mixin:

Vue.axiosGet({
    methods: {
        request: function(url) {
            return axios.get(url).then(response => {
                return response.data;
            });
        }
    }
});

但现在我不知道在哪里或如何存储我将获得的数据。

编辑:我忘了准确地说我不想使用 VueX。

4

2 回答 2

3

你说你不想用 Vuex,但为什么不呢?我建议您使用 Vuex 商店来实现您正在寻找的东西。vuex 存储将在其中缓存/保存信息,这意味着您可以轻松地在不同的页面上访问它。Vuex 将解决您的问题,并允许您拨打一次电话,然后访问数据。无需重新发明轮子,这是实现您需要的有效方法。

于 2019-09-09T14:41:39.177 回答
0

如果你真的不想使用 Vuex,总有像nedb这样的解决方案,但我强烈推荐 Vuex。

于 2019-09-10T15:16:34.340 回答