Extjs créer store
J'ai un problème de création d'un magasin et j'ai besoin d'aide.
J'ai un magasin, créé à l'aide de Ex.définir l'approche et il fonctionne très bien.
Voici le code:
Ext.define('path.to.myStore', {
extend: 'Ext.data.Store',
model: 'arm4.dict.m.DictBaseModel',
proxy: {
type: 'ajax',
url: 'data/module-dict/PossessionGroundWs/find',
reader: {
type: 'json',
root: 'dataList'
}
}
});
//later
//works fine!
var s =Ext.create('path.to.myStore');
s.load();
Maintenant, le problème c'est que je veux créer stocker de manière dynamique, sans Ex.définissez.
C'est comment je le fais:
var s = Ext.create('Ext.data.Store', {
model: 'arm4.dict.m.DictBaseModel',
proxy: {
type: 'ajax',
url: 'data/module-dict/PossessionGroundWs/find',
reader: {
type: 'json',
root: 'dataList'
}
}
});
s.load();
Comme vous pouvez le voir, il utilise exactement la même configuration, mais cela ne fonctionne pas.
J'obtiens cette erreur:
TypeError: reader.read is not a function
result = reader.read(me.extractResponseData(response));
Quand je creuse dans Extjs code, je peux voir que le lecteur n'est pas initialisé par une raison quelconque.
"lecteur" ressemble à ceci:
{
applyDefaults:true
root:"dataList"
type:"json"
}
Donc, ce que je fais mal?
Pouvez-vous reproduire cette erreur(bug)?
Vous devez vous connecter pour publier un commentaire.
Ne peut pas reproduire cette erreur, mais je me souviens d'un jour, je l'ai eu. Essayez de définir votre lecteur dans un fichier distinct, comme ce
et puis
Peut-être que cela aidera.
J'ai trouvé le problème.
Je ne sais pas vraiment si c'est un bug ou pas, mais si vous créez votre magasin avec Ext.créer(sans Ext.définir) vous avez besoin de votre modèle de classe avant la création.
Donc, cela fonctionne très bien:
Désolé pour cogner un ans question, mais cette page vient assez haut dans Google lors de la recherche de l'erreur TypeError: reader.lire n'est pas une fonction, donc j'espère que ça peut être utile.
J'ai eu la même erreur, qui a été causé par un magasin lié à un non-modèle existant, afin de vérifier votre modèle de référence pour toute typo.
Sa est une vieille question, mais ce problème est très fréquent.
Dans mon scénario, je n'ai pas de définir le modèle, j'ai oublié de prolonger mon modèle avec 'Ext.les données.Modèle", Après l'extension, il commence à travailler correctement.
J'ai reproduit la même erreur lors de ma définition du modèle a été mauvais. Vérifiez donc que. Dans mon cas:
Je fais une erreur avec le nom du package (causée par copie & coller):
APP.de modèle.web.bdetmclocalidad.BdetMcProvincia n'est pas égal à l'APP.de modèle.web.bdetmcprovincia.BdetMcProvincia
J'espère que cette aide.