我有这家店:
Ext.define("App.store.units.MyStore", {
extend:'Ext.data.Store',
requires: "App.model.units.MyModel",
model: "App.model.units.MyModel",
id:'myStore',
pageSize:10,
proxy: {
type: 'jsonp',
url: urls.MyUrl+"/search",
limitParam: 'undefined',
startParam: 'offSet',
pageParam: 'undefined',
extraParams: {
searchString: 'a'
},
reader: {
root: 'results.results',
totalProperty: 'numFound',
type: 'json'
}
}
});
请求有效,我得到了预期的响应。
出于某种原因,现在我在浏览器中看到了这个:
reader.read is not a function
我不明白问题出在哪里,因为昨天一切正常(我知道这听起来如何,但我真的不知道有什么不同)。
任何可能有帮助的建议?
编辑以下是模型的(动态)定义:
function(config){
try{
console.log("INIT MODEL");
Ext.define("App.model.units.MyModel", {
extend: 'Ext.data.Model',
fields: config
});
} catch(err){
console.log("Error");
}
}
此功能在创建商店之前运行,而config
对象是array
个{name: 'value'}
项。
我不知道出了什么问题。现在一切似乎都在Firefox中运行良好,但IE8仍然存在该错误(阅读器中带有type:'json'
的事件)。我认为读者没有在IE8中实现,但我无法检查它,因为对象没有在其控制台中显示(或者我没有这样做的知识)。为什么不运行相同的javascript代码?
LATER EDIT 出于某种原因,我有时会创建reader
。这就是问题。有时它只是一个对象,而不是必需的reader
。这也发生在Firefox中。似乎没有任何模式。
答案 0 :(得分:1)
我有类似的问题。这有助于:
Ext.require('App.model.units.MyModel');
//or any other model you use in your store
将放在之前创建商店并且它有效!
答案 1 :(得分:0)
requires config是ExtJS docs中所述的数组:
http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.Class-cfg-requires
答案 2 :(得分:0)
删除商店字段时出现此错误。我有这个网格...
<强>格强>
columns: [
{header: "Status", width: 75, sortable: true, dataIndex: 'partystatus'},
{header: "Name", width: 160, sortable: true, dataIndex: 'partyname'},
{header: "Fathersname", width: 75, sortable: true, dataIndex: 'fathersname'},
{header: "Grandfather", width: 75, sortable: true, dataIndex: 'grandfather'},
{header: "Type", width: 75, sortable: true, dataIndex: 'partytype'}
],
以及以下商店:
商品强>
fields: [
{name: 'firstName', type: 'string'},
{name: 'name', type: 'string'},
{name: 'age', type: 'int'},
{name: 'eyeColor', type: 'string'}
],
我只是删除了存储字段,认为它们是多余的,但我得到了那个错误。