1

私はqooxdooを学んでいます(実際に理解しているので、これは素晴らしいと思います)。残念ながら、Twitter クライアントのチュートリアルに従っているときに、ページを読み込むときにエラーが発生しました。

新しいクラス ファイル MainWindow.js を作成した後

qx.Class.define("twitter.MainWindow",
{
    拡張: qx.ui.window.Window,

    構成: 関数()
    {
        this.base(引数、「ツイーター」);
    }
});

Application.js クラス ファイルに移動し、追加します。

var main = 新しい twitter.MainWindow();
    main.open();

小さな窓が見えるはずです。

実行後generate.py source 、firebugでこのエラーが発生します

qx.html は定義されていません
[このエラーで中断] return new qx.html.Element("div", styles, attributes);

generate.py をsource-alland でも実行しようとしbuildましたが、役に立ちませんでした。誰かが私を助けてくれませんか、私は本当にこれを始める必要があります(カプチーノとSproutCoreで作業しようとして2日無駄にしました...役に立たない)

更新 私は問題を解決しました。どうやら、アプリケーション クラス定義の外でウィンドウ コードを入力していたようです。私の弁護では、チュートリアルは「これをApplication.jsファイルの最後に追加する」と述べています

したがって、この


qx.Class.define("twitter.Application",
{
  extend : qx.application.Standalone,

  members :
  {
    main : function()
    {
      // Call super class
      this.base(arguments);

      // Enable logging in debug variant
      if (qx.core.Environment.get("qx.debug"))
      {
        qx.log.appender.Native;
        qx.log.appender.Console;
      }


    }
  }
});

var main = new twitter.MainWindow();
        main.open();

あるべきだった


qx.Class.define("twitter.Application",
{
  extend : qx.application.Standalone,

  members :
  {

    main : function()
    {
      // Call super class
      this.base(arguments);

      // Enable logging in debug variant
      if (qx.core.Environment.get("qx.debug"))
      {
        qx.log.appender.Native;
        qx.log.appender.Console;
      }

      var main = new twitter.MainWindow();
        main.open();
    }
  }
});

4

1 に答える 1

2

非常に良いです、あなたはそれをすべて自分で解決しました:-)。はい、この時点でチュートリアルのテキストがあいまいです。バグを報告して修正します。

一般に、qooxdoo はクラス定義に「閉じた形式」を使用します。特定のクラスに関連するすべての情報は、 に渡されるこの 1 つの大きなマップにありqx.Class.defineます。マニュアルは、クラス定義のさまざまな要素を説明するためにある程度の長さになります。おそらく、それが役立つと思います (たとえば、ここを参照)。

一方、最初に行ったことは完全に正当な JavaScript であるため、ジェネレーターがすぐに終了する原因となる構文エラーは発生しませんでした。ただし、ジェネレーターの出力に警告が表示されるはずです。

于 2011-06-11T11:14:42.430 に答える