当试图使用PartLoader获取错误“arguments.callee.base.call不是一个函数”时

时间:2010-02-12 07:57:38

标签: javascript qooxdoo

我试图用qooxdoo开发一个独立的应用程序。我想加载每个部分 GUI与PartLoader。我只想在用户从菜单中选择相关菜单项时加载大组框。但是当我运行代码时(执行部分加载相关功能) 我收到错误“arguments.callee.base.call不是函数”。我在Windows XP上使用Firefox 3.6。

这是我在Application.js中加载代码的部分:

qx.io.PartLoader.require(["part1"], function()
{
        if (!this.__groupbox1)
        {
                this.__groupbox1 = new appname.Classname();
                container.add(this.__groupbox1, {left:20, top:40});

        }


}, this);

这是要加载的类代码:

qx.Class.define("appname.Classname",
{
  extend : new qx.ui.groupbox.GroupBox,

  construct : function()
  {

        this.base(arguments);
        this._addContent();



  },
  members:
  {
   _addContent : function()
   {
       some_ui_parts;
       this.add(some_ui.parts);
       some_more_ui_parts;
       this.add(some_more_ui_parts);
    }
   }
});

这是与PartLoader相关的config.jason的一部分:

"jobs":
{
"common":
{
  "packages" :
  {
    "parts"  :
    {
      "boot"     :
      {
        "include" : [ "${QXTHEME}", "appname.Application" ]
      },
      "part1" :
      {
        "include" : [ "appname.Classname" ]
      }
    }
  }
}
}

注意:我刚刚更换了真正的appname&类名为appname.Classname short。

我搜索了这个错误,但我找不到任何相关内容。

1 个答案:

答案 0 :(得分:0)

您必须更改行

qx.Class.define("appname.Classname",
{
  extend : new qx.ui.groupbox.GroupBox,

qx.Class.define("appname.Classname",
{
  extend : qx.ui.groupbox.GroupBox,

定义新类并对其进行扩展时,不需要“new”运算符。有关更多信息,请访问qooxdoo wiki的Classes documentation