2011-04-12 10 views
0

我想从另一个面板用户js文件访问由ext designer创建的JsonStore。 从设计师生成的文件存储文件看起来像这样从另一个文件访问Ext Designer JsonStore

myJsonStore = Ext.extend(Ext.data.JsonStore, { 
constructor: function(cfg) { 
    cfg = cfg || {}; 
    CoaJsonStore.superclass.constructor.call(this, Ext.apply({ 
     storeId: 'myJsonStore', 
     url: '/server.json', 
     restful: true, 
     autoLoad: true, 
     autoSave: false, 
     fields: [ 
      { 
       name: 'id' 
      }, 
      { 
       name: 'code' 
      }, 
      { 
       name: 'name' 
      } 

     ] 
    }, cfg)); 
} 
}); 
new myJsonStore(); 

我在做什么,现在使用隐藏的组合并指定商店组合,这可以让我通过autoRef访问(使用。二合一.getStore(),它给了我一个对象类型的Store)。理想情况下,我希望能够做到没有隐藏的组合。

我试过用storeId指向它,但它不起作用,如果我将storeId记录到控制台,这就是我所得到的。

function (cfg) { 
    cfg = cfg || {}; 
    CoaJsonStore.superclass.constructor.call(this, Ext.apply({ 
     storeId: 'myJsonStore', 
     url: '/coas.json', 
     restful: true, 
........ 

所以我只是想知道这是否甚至可能。如果有的话,如何做到这一点将不胜感激。谢谢

回答

3

只创建一个新的商店。为了引用代码中其他地方的商店(同一文件或另一个文件),您需要使用一个变量。创建存储这样的:

var myStore = new myJsonStore(); 

并将其绑定到comobobox使用变量名myStorestore财产。