You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vuex无法获取存储API数据:getArticles不是函数报错求助

解决Vuex调用API时的TypeError问题

Hey there, let's break down why you're seeing that TypeError: getArticles is not a function error and fix it step by step:

1. 方法名大小写不匹配(核心问题)

JavaScript是严格区分大小写的!你在api/article.js里定义的方法是**getarticles(小写的a),但在Vuex模块的loadArticles action里调用的是ArticleAPI.getArticles()**(大写的A)——这就导致程序找不到对应的方法,直接抛出错误。

2. 缺失axios导入(潜在问题)

你的api/article.js里使用了axios发起请求,但没有显式导入它。虽然你在App.js里全局挂载了window.axios,但在模块化的文件中显式导入能避免环境差异带来的问题,让代码更健壮。

修改后的代码

首先修正api/article.js:

import { ESTATE_CONFIG } from '../config.js';
import axios from 'axios'; // 新增axios导入

export default {
    getArticles: function(){ // 把方法名改为getArticles,与调用处一致
        return axios.get( ESTATE_CONFIG.API_URL + '/articles' );
    },
}

额外提示:检查API地址完整性

你的config.js里的api_url没有带协议(http/https),可能会导致请求失败,建议补充完整:

var api_url = 'https://mywebsite.com/api'; // 加上https://或http://
export const ESTATE_CONFIG = {
    API_URL: api_url,
}

验证修改

做完以上修改后,重新运行项目,Vuex应该能正常调用API并把数据存入Store了。如果还有问题,可以检查:

  • 浏览器控制台的Network标签,确认API请求是否正常发出
  • 确认API返回的JSON格式是否符合预期

内容的提问来源于stack exchange,提问作者user10828115

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:05:44