如何在extjs中动态设置url和root

Posted

技术标签:

【中文标题】如何在extjs中动态设置url和root【英文标题】:How to set url and root dynamically in extjs 【发布时间】:2013-05-20 09:57:35 【问题描述】:

谁能告诉如何在 Ext JS 中动态设置商店的 url 和 root?

我创建了一个如下所示的商店。我需要更新根目录并在控制器中动态设置 url。

Ext.define('Test.store.TestStore', 
  extend: 'Ext.data.Store',
  model: 'Test.model.TestModel',
  storeId: 'testStore',
  proxy: 
    type: 'jsonp',
    reader: 
      type: 'json',
      root: 'responseXML'
    
  
);

谢谢

【问题讨论】:

【参考方案1】:

您可以稍后在代码中这样设置代理的 url:

store.getProxy().url = '/your/url';

之后你就可以做常规了:

store.load();

或者让它被任何绑定自动触发。

您可以在代码中的任何位置通过 StoreManager 检索商店:

var store = Ext.data.StoreManager.lookup('myStore');

【讨论】:

我没有对此进行测试,但在这种情况下,您可能可以使用store.getProxy().getReader().root = '/your/root'; 我真的不知道 Sencha 是否重组了他们自己组件的属性以使用神奇的 getter 和 setter,但如果是这样,这样做会更干净:store.getProxy().setUrl('/your/url'); 当然同样适用于阅读器的根属性。 感谢您的及时帮助

以上是关于如何在extjs中动态设置url和root的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ExtJS 中动态更改分页网址?

如何在 extJs3 中动态更改 fieldLabel

如何在 extjs 3.4 网格面板中显示/隐藏列

extjs 表格控件怎么动态显示数据

如何在 NextJS+React 中使用 api 生成的内容创建用户可自定义的动态 url?

extjs grid如何动态增加记录