2013-01-21 45 views
3

我在extjs4使用MVC結構的工作,我想更改API(創建)我的代理設置到另一個url.I我陷在這個point.here是我的一些代碼如何動態更改代理API在ext js4中?

Ext.define('Balaee.model.sn.UserModel',{ 
     extend: 'Ext.data.Model', 
     //idproperty:'userId',//fields property first position pk. 
     fields: ['userId','firstName','middleName','lastName','languageId','primaryEmail','birthDate','password','securityQuestionId','securityQuestionAnswer','isMale','creationTime','ipAddress','confirmationCode','userStatusId',], 
     proxy: 
     { 
      type:'ajax', 
      api: 
      { 
       read:'http://localhost/balaee/Balaee/index.php?r=SocialNetworking/user/AuthenticateLogin', 
       create:'http://localhost/balaee/Balaee/index.php?r=SocialNetworking/user/AuthenticateLogin', 
       update:'http://localhost/balaee/Balaee/index.php?r=SocialNetworking/user/Registration' 

      },//end of api 
      reader: 
      { 
       type:'json', 
      },//end of reader 
      writer: 
      { 
       type:'json', 
       root:'records', 
      },//End of writer 
     }//end of proxy 
} 

請給我一些建議。

回答

3

你可以用Ext.applyExt.applyIf這樣做。

var userModel = Ext.create('Balaee.model.sn.UserModel',{}), 
    proxy = userModel.getProxy(); 

Ext.apply(proxy.api, { 
    create : '/controller/new', 
    read : '/controller/load', 
    update : '/controller/update', 
    destroy : '/controller/destroy_action' 
}); 
+1

With apply如果您無法覆蓋。我建議只使用apply,以便您可以更改已經設置的屬性。也有可能改變整個代理的原因我不確定這是否會工作(即使它應該工作,至少對於一個url API) – sra

+0

你是對的@sra ..again .. :) applyIf只適用於配置不存在。 – A1rPun