Model ExtJS4-代理、存储、模型、自动加载-有什么神奇之处?
我在模型上定义了一个代理 我定义了一个指向模型的存储,没有代理,因为我希望它使用在模型上定义的存储Model ExtJS4-代理、存储、模型、自动加载-有什么神奇之处?,model,proxy,extjs4,store,Model,Proxy,Extjs4,Store,我在模型上定义了一个代理 我定义了一个指向模型的存储,没有代理,因为我希望它使用在模型上定义的存储 store.autoLoad:true不起作用 我必须从我的控制器显式调用 var-store=this.getMyStore(); store.load(); 这是预期的行为吗 这不是自动加载的目的吗 它是否仅在存储上定义了代理时才起作用 代码: model/MyThing.js Ext.define('MyApp.model.MyThing'{ 扩展:“Ext.data.Model”, 字段
store.autoLoad
:true不起作用
我必须从我的控制器显式调用
var-store=this.getMyStore();
store.load();
这是预期的行为吗
Ext.define('MyApp.model.MyThing'{
扩展:“Ext.data.Model”,
字段:['id','reference'],
代理:
{
键入:“ajax”,
url:“神话”
}
});
store/MyThings.js
Ext.define('MyApp.store.MyThings'{
扩展:“Ext.data.Store”,
自动加载:对,
自动同步:错误,
模型:“MyApp.model.MyThing”
});
您不会显示如何创建商店。
您应该在FireBug中看到一个HTTP GET请求(假设您正在使用FireFox并拥有它),只要您调用:
Ext.create('MyApp.store.MyThings');
我将您的代码添加到我的应用程序中,并获得了预期的结果,因此它应该可以正常工作
更新:
为了响应您自己发布的答案,您可以将该配置对象作为
autoLoad
(而不是autoLoad:true
)提供,以获得相同的功能,而无需显式调用store.load()
实际上,这是一个新手的事情。我一直有点渴望成为一只海狸
在存储完成加载之前(作为异步加载),我正在查看它
最佳实践是订阅load()函数的回调,然后执行某些操作
store.load({
scope : this,
callback: function(records, operation, success) {
//the operation object contains all of the details of the load operation
console.log(records);
}
});
确保您有
自动加载
,而不是自动加载
。一旦你启动应用程序,它会自动加载商店。是的,我可以看到它也有用途