2013-02-20 105 views
5

我正在使用extjs。我有店 -如何在extjs中使用不同网址的同一商店

Ext.define('Balaee.store.qb.QbqnsStore',{ 
      extend: 'Ext.data.Store', 
      model: 'Balaee.model.qb.QbqnsModel', 
      autoLoad: true, 

      proxy: 
      { 
       type:'ajax', 
       api: 
       { 
     read:index.php/QuestionBank/qbpaper/createpaper', 

     }, 
       reader: 
       {type:'json', 
        //root:'polls',}, 
       writer: 
       {type:'json', 
        root:'data', 
       }}}); 

因此,代理的读取属性设置为上述Url。现在,我想为其他视图使用同一商店,但使用不同的Url来读取属性。那么如何动态更改商店的读取URL?我曾试图原样 按钮单击事件我想读于是就按一下按钮功能从URL- /index.php/QuestionBank/qbpaper/Reviewquestionpaper111

数据我写了原样

review:function() 
    { 
     //alert("hello"); 

     var QbqnsStore=this.getStore('qb.QbqnsStore'); 
     proxy=QbqnsStore.getProxy(); 
     Ext.apply(proxy.api,{ 
      read:'http://127.0.0.1/s_balaee/Balaee/index.php/QuestionBank/qbpaper/Reviewquestionpaper', 

     }); 

我创建了该商店的变量并提供了新的必需URL。 Bt不起作用。 那么如何在读取属性中将不同的视图与不同的URL一起使用相同的商店。

回答

3

您可以尝试如下:

QbqnsStore.proxy.url = 'new url'; 

和更改URL后这将改变它的阅读url.be相信你应该重新加载您的商店:

QbqnsStore.reload(); 
+0

Thanx sir for reply.i按照您的说法尝试过,但它没有工作。它不调用这个新插入的URL。 – user2077845 2013-02-20 12:18:43

+0

有人可以帮我... – user2077845 2013-02-20 12:45:29

2

您可以使用此代码:

var QbqnsStore=this.getStore('qb.QbqnsStore').load({url:'newUrl'}); 
0

您可以简单地改变读取OB的财产JECT 代理

var store = this.getStore('qb.QbqnsStore'); 
    proxy = store.getProxy(); 
    proxy.api.read = 'http://127.0.0.1/myNewUrl'; 

然后调用store.sync()store.load()方法。