これは、バッキングカスタムコンポーネントjs(おそらく)の範囲内で検索します。
実際にチェーン/スコープはthis
オブジェクトから始まります。したがって、this
がそのスコープにあるかどうかにかかわらず、それは実際にそれを探している場所です。別のオブジェクトへの参照があった場合、またはコールバック関数内にあった場合、my文は真ではないかもしれません。
App.MyCompComponent = Ember.Component.extend({
foo: 'bar',
actions: {
doit: function(){
// `this` is the scope of an instance of this component.
alert(this.get('foo'));
}
}
});
http://emberjs.jsbin.com/totibidohe/edit?html,js,output
あなたにもテンプレートであることの範囲外でそれを考えると、単にインスタンスと、それは同じだろうとインスタンスと参照を作成することができます。
var MyCompComponent = Ember.Component.extend({
foo: 'bar',
actions: {
doit: function(){
alert(this.get('foo'));
}
}
});
var j = MyCompComponent.create();
alert(j.get('foo'));
http://emberjs.jsbin.com/xekohoguto/1/edit?html,js,output
おかげで...しかし、私だけではなく、同じコンポーネント(テンプレート/ JS)内の範囲にはrefereringています...私は、コンポーネントA内のコードが呼び出されたときに、スコープチェーンを知りたいと思いました。コンポーネントBがコンポーネントAを使用していると仮定します。 私のオリジナルの質問には、私がここで言うことの具体例があります。 – testndtv
私の答えはあなたの質問に基づいて同じままですが、それはあなたが不思議に思っている場合は、親スコープのプロパティを探しに行くことはありません。コンポーネントは、親と子の両方のスコープから分離されています。 – Kingpin2k
「my-panel」の中で定義されていないmy-sections.js(呼び出し元のコンポーネント) – testndtv