我在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?我试过 - 按钮点击事件我想从网址读取数据 - /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。它不工作。 那么如何在read属性中使用不同URL的不同视图使用同一个商店。
答案 0 :(得分:3)
您可以尝试如下:
QbqnsStore.proxy.url = 'new url';
这会改变它的url.be确定更改网址后你应该重新加载你的商店:
QbqnsStore.reload();
答案 1 :(得分:2)
您可以使用此代码:
var QbqnsStore=this.getStore('qb.QbqnsStore').load({url:'newUrl'});
答案 2 :(得分:0)
您只需更改对象代理的读取属性:
var store = this.getStore('qb.QbqnsStore');
proxy = store.getProxy();
proxy.api.read = 'http://127.0.0.1/myNewUrl';
然后调用store.sync()
或store.load()
方法。
答案 3 :(得分:0)
store.proxy.api.read =' new url';