1

タブ付きパネルを含むポートレットがあります。そのパネルにはチャートがあります。チャートの機能の 1 つで、console.log(this)すべてのコンテンツを表示することができます。ただし、私の主な意図は value を使用することですthis.ownerCt。これは存在することを示していますが、使用しようとすると、または console.log すると未定義として報告されます。this.idまたはthis.idname実際のIDを取得すると 。

問題:に値がある場合、なぜthis.SOMETHING戻るのでしょうか?undefinedthis

いくつかのコードのヒント: ここにconsole.log(this).

Ext.Class.newClass
  additionalCls: Array[2]
  body: Ext.Element.Ext.core.Element
  childEls: Array[1]
  collapseDirection: "top"
  componentCls: "x-panel"
  componentLayout: Ext.Class.newClass
  componentLayoutCounter: 3
  container: Ext.Element.Ext.core.Element
  dockedItems: Ext.Class.newClass
  el: Ext.Element.Ext.core.Element
  id: "stackedbarportlet-1055"
  itemId: "graph"
  items: Ext.Class.newClass
  ownerCt: Ext.Class.newClass
  xtype: "stackedbarportlet"

いくつかのインスタンスを取り出しましたが、これはその一般的な出力です!

console.log(this.ownerCt)結果: undefined.

4

2 に答える 2

1
<script>

var t1="";
var t2;

if (t1===undefined)
{
alert("t1 is undefined");
}
if (t2===undefined)
{
alert("t2 is undefined");
}

</script>

t2 が未定義であることを実行すると、おそらくthis.ownerCtには値がありません

于 2012-09-12T15:00:49.610 に答える
0

あなたはここであなたの答えを見つけるかもしれません。呼び出しがキューに入れられ、最終的には現在のステートメントの終了後に呼び出されることがあるようですconsole.log()。そのため、それらの出力は、コード内のオブジェクトの状態を正確に反映しているとは限りません。

少なくとも、カスタム定義されたExtJSのストアでコンストラクター関数をオーバーライドしたときに、同様の動作が発生しました。

于 2012-10-02T14:16:29.830 に答える