概要:
次のようなことが可能かどうか知りたいです。
{a: 'A',b: this.a}
{a: 'A',b: self.a}
...またはまたはその他のような他のポインターを使用して{a: 'A',b: own.a}
...
完全な質問:
Ext.extend を使用して MyBaseModule を拡張しようとしていますが、Ext.extend() に渡された拡張オブジェクトの値を相互参照する必要があります。
まだ MyModule のコンテキストに入っていないため、これを使用してオブジェクトを参照することはできません (12 行目の下の例を参照)。最初にオブジェクトを作成せずに、このような値を参照する他の方法はありますか?
1 MyModule = Ext.extend(MyBaseModule, {
2 dataStores: {
3 myDataStore: new Ext.data.Store({...})
4 },
5
6 myGridDefinition: {
7 id: 'myGridDefinitionPanel',
8 bodyBorder: false,
9 items: [{
10 xtype: 'grid',
11 id: 'myGridDefinitionGrid',
12 store: this.dataStores.myDataStore
13 }]
14 }
15 });
それとも、以下が唯一の解決策ですか?大規模な拡張定義では読みにくいため、可能であればこれを避けたいと思います。
1 var extensionObject = {
2 dataStores: {
3 myDataStore: new Ext.data.Store({...})
4 },
5
6 myGridDefinition: {
7 id: 'myGridDefinitionPanel',
8 bodyBorder: false,
9 items: [{
10 xtype: 'grid',
11 id: 'myGridDefinitionGrid'
12 }]
13 }
14 };
15
16 extensionObject.locationsGrid.items[0].store = extensionObject.dataStores.locations;
17
18 MyModule = Ext.extend(MyBaseModule, extensionObject);