2016-09-15 11 views
1

qooxdooクラスのインスタンスをconsole.log( '%o'、inst)を使用してチェックしています。 プロパティは、先頭に "$$ user ..."というマークが付けられて表示されます。 しかし、クラスに新しいプロパティを追加すると、console.log出力には表示されません。 コードは新しいプロパティを使用して実行されています。構文とクラス構造は大丈夫です。私はリリースとデバッグモードでチェックしました。 console.log出力にも新しいプロパティを表示するにはどうすればよいですか? キャッシュされた何かがあるので、あるリフレッシュまで表示されませんか?qooxdoo新しいプロパティがログツールに表示されない

答えて

1

Qooxdooは現在のユーザー提供のプロパティ値を格納するのに$$user_を使用します。 $$user_の値は、クラスの初期化中にオブジェクトのプロパティが構築された後にプロパティがアクティブに設定されている場合にのみ設定されます。

の値を持つことは十分ではありません。そのため、上記のconsole.logコールでは、それらをアクティブにするために何かを積極的に配置する必要があります。

初期値は、$$init_というプロトタイプの後に変数名が格納されます。だから、

qx.Class.define("foobar", { 
    extend: qx.core.Object, 

    properties: { 
    test1 : {}, 
    test2 : {init: 5} 
    } 
}); 

は単一$$user_test1たり、クラスを初期化した直後$$user_test2になります。 setTest2(99)に電話すると、$$user_test2がコンソールに表示され、resetTest2()に電話すると消えます。

質問に答えるには、積極的にsometingを入れて、$$user_の値を設定するように強制できます。または、クロムコンソールで時計を定義すると、監視対象のオブジェクトでgetTest2()が呼び出されます。

+0

完璧、ありがとう – peterg

関連する問題