摘要:
我想知道是否有可能做这样的事情:通过使用一些其他指针一样{a: 'A',b: self.a}
交叉引用的JS对象变量当创建对象
{a: 'A',b: this.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);
我意识到对象尚未创建时,我想访问它的属性,还等什么我正在寻找的是JavaScript语言中的某种内置帮助功能,以告知它在创建对象后解析引用... 嗯......我看起来越多在此情况下,我认为这种功能存在的可能性越小。 – 2010-06-14 12:15:31