0

我试图用 qooxdoo 开发一个独立的应用程序。我想用 PartLoader 加载 GUI 的每个部分。当用户从菜单中选择相关菜单项时,我只想加载大组框。但是当我运行代码(执行部分加载相关函数)时,我收到错误“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.Classname short 替换了真正的 appname 和 Classname。

我搜索了这个错误,但我找不到任何相关的东西。

4

1 回答 1

0

你必须改变线条

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

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

当您定义一个新类并对其进行扩展时,不需要“新”运算符。更多信息可以在 qooxdoo wiki的Classes 文档中找到。

于 2010-02-12T09:24:07.097 回答