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

ExtJS创建柱状图配置axes时出现c is not a constructor报错

问题原因

这个Uncaught TypeError: c is not a constructor报错是图表轴类未按需加载导致的。
Ext JS图表组件默认采用按需加载机制,你在axes配置中使用了numeric(数值轴)和category(分类轴)两类轴,但对应的实现类没有被引入项目,框架运行时找不到对应构造函数就会抛出这个异常。这和你观察到的现象完全匹配:注释掉axes配置时不需要加载轴类,代码就能正常运行;普通表格组件不依赖图表轴相关类,所以相同数据可以正常加载到表格中。

修复方案

根据你的项目引入方式二选一操作即可:

  • Sencha Cmd构建的项目
    在使用图表的视图、控制器或者应用的requires配置段中,补上缺失的轴类依赖:
    requires: [
        'Ext.chart.CartesianChart',
        'Ext.chart.series.Bar',
        // 补充以下两个轴类依赖
        'Ext.chart.axis.Numeric',
        'Ext.chart.axis.Category'
    ]
    
    保存后重新执行构建命令,或者等待开发环境热重载即可。
  • 直接脚本引入的项目
    确认你已经在页面中引入了对应Ext JS版本的charts包脚本,不要只引入核心框架JS文件,缺少ext-charts.js也会导致这个问题。
其他提示

你贴的测试代码中,图表绑定的是硬编码的测试store,等轴加载问题修复后,把图表的store配置替换为你自己处理接口数据生成的storeCost,同时同步调整axes的fields、series的xField/yField配置,匹配你实际的字段名就能正常渲染真实数据。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 22:15:47