2013-06-10 3 views
1

Extjs4의 일반 구성 요소 집합을 정의해야합니다 (예 : ). 예를 들어 하나의 일반 저장소를 정의하고 싶습니다. 그리고 저장소를 만들 때 필요한 코드를 저장하고 정의해야합니다. 모델 및 데이터를 얻기위한 url. 이 내 가게 :일반 구성 요소

Ext.define('base.common.store.BaseStore',{ 
    extend:'Ext.data.Store', 
    remoteSort: true, 
    proxy: { 
     //url:this.url, 
     type: 'ajax', 
     pageParam: false, //to remove param "page" 
     startParam: false, //to remove param "start" 
     limitParam: false, //to remove param "limit" 
     reader: { 
      type: 'json', 
      id: 'id', 
      root: 'list' 
     } 
    } 
}) 

와 나는 그것의 인스턴스를 만들 때입니다 :

var dsGroups = Ext.create('base.common.store.BaseStore',{ 
      model:'base.common.model.Group' 
      //proxy:{url:"Group.getGroups"} 

     }); 
dsGroups.getProxy().url = "Group.getGroups"; 

이 질문은 다음 proxy.url 속성을 주입이 일을 할 수있는 방법이 있습니다 Ext.create 호출에서? (나는 마지막 문장을 사용하고 싶지 않다.)

아무 유형의 도움이나 아이디어가 유용하다.

답변

1
Ext.define('base.common.store.BaseStore',{ 
    extend:'Ext.data.Store', 
    remoteSort: true, 

    defaultProxyCfg: { 
     type: 'ajax', 
     pageParam: false, //to remove param "page" 
     startParam: false, //to remove param "start" 
     limitParam: false, //to remove param "limit" 
     reader: { 
      type: 'json', 
      id: 'id', 
      root: 'list' 
     } 
    } 

    constructor: function(config){ 
     config = Ext.apply({}, config); 
     config.proxy = Ext.apply({ 
      url: config.url 
     }, this.defaultProxyCfg); 
     this.callParent([config]); 
    } 
}); 
+0

감사합니다. – AfanfeFana