【问题标题】:Uncaught TypeError: undefined is not a function / Ext.Require / ExtJSUncaught TypeError: undefined is not a function / Ext.Require / ExtJS
【发布时间】:2013-12-13 14:08:31
【问题描述】:

我在 Symfony 应用程序中使用 ExtJS 和 GeoExt。 由于 Symfony 的资产倾销导致路由错误导致一些麻烦,目前一切正常。

在尝试在 Ext Panel 中显示 OpenLayers 图层时发现问题后,我尝试通过以下方式解决:

Ext.require([
  'GeoExt.panel.Map',
  'GeoExt.tree.OverlayLayerContainer',
  'GeoExt.tree.BaseLayerContainer',
  'GeoExt.data.LayerTreeModel',
  'GeoExt.tree.View',
  'GeoExt.tree.Column',
]);

问题,我收到了这个错误:

 Uncaught TypeError: undefined is not a function 

错误来自 Ext.Require
如果我只是把

Ext.require([
]);

里面什么都没有,没有错误。 一旦我把东西放进去,即使它是一个 Ext.something,错误也会再次出现。

错误来自:

/server path/ExtJS4.2/src/menu/Manager.js:182

为什么?

【问题讨论】:

  • 是否定义了您需要的每个“类”(例如,GeoExt.panel.Map 等)?
  • 顺便说一句,您在传递给require 的数组末尾有一个逗号。
  • @KelseyFrancis 您的意思是 Column' 末尾的逗号,?它在我制作的另一个代码中工作。如果我删除它,什么都不会改变。
  • @KelseyFrancis 我不知道它们是否已定义,但我想是的,因为我可以在我的代码中使用它们并且它们可以工作。无论如何,如果我只是通过 Ext.container.Viewport,即使我在我的代码中使用 Ext.create(Ext.container.Viewport 并且它正在工作,我也会遇到同样的错误。
  • 问题来自'GeoExt.data.LayerTreeModel',这就是为什么我尝试将它定义到需求中。因为定义为模型,它似乎被代码简单地忽略了。但是“GeoExt.panel.Map”已经在代码中工作了。所以这有点奇怪。

标签: javascript extjs typeerror extjs4.2 geoext


【解决方案1】:

找到原因,我在用

ext-debug.js

切换到

 ext-all.js

错误消失了。
我的功能仍然无法正常工作,但这不是我问题的主题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-15
    • 2015-01-14
    • 2014-07-06
    • 2014-09-01
    • 2015-11-04
    • 2013-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多