Sto provando a centralizzare la configurazione dei negozi EXTJS all'interno della mia applicazione, tuttavia, non riesco a capire come farlo accadere. Sto usando ExtJS 4.1.Estendi Ext.data.Store
Ho un archivio di base, che voglio contenere tutte le cose di configurazione ripetitive, e quindi i miei negozi più specifici per contenere ciò che è effettivamente diverso.
Ext.define('My.store.Abstract', {
extend: 'Ext.data.Store',
autoload:false,
proxy: {
type: 'ajax',
reader: {
type: 'json',
root: 'data',
totalProperty: 'total',
successProperty: 'success',
messageProperty: 'message'
},
writer: {
type: 'json',
encode: true,
writeAllFields: true,
root: 'data',
allowSingle: false
},
simpleSortMode: true
}
});
Poi vorrei fornire la roba specifica negozio in un negozio da basi negozio -
Ext.define('My.store.Products', {
extend: 'My.store.Abstract',
storeId: 'Products',
model: 'My.model.Product',
proxy: {
api: {
create: '/myurl/create',
read: '/myurl/index',
update: '/myurl/update',
destroy: '/myurl/delete'
}
}
});
Quello che sto trovando è che solo doesnt comportarsi a tutti. Credo che abbia qualcosa a che fare con il proxy, ma non riesco a rintracciarlo.
Qual è il modo corretto per farlo? Preferirei non replicare le stesse cose di configurazione (dal mio negozio astratto) attraverso gli oltre 350 negozi della mia applicazione. A partire da ora, questo è quello che ho, e ho pensato che stavo cercando di implementare un concetto piuttosto semplice .. senza risultato.
So che le cose non funzionano, basico come il pageSize, o anche l'autoLoad .. perché non vengono rispettate affatto.
Ho giocato con i costruttori e ho chiamato il genitore.
Qualsiasi aiuto sarebbe molto apprezzato.
esempio molto bello di configurazioni nidificate di modularizzazione per l'override, grazie Evan! – dbrin
Questo è l'approccio con cui ho finito. Grazie per l'intuizione. –
@JimEckels, quindi accetta la risposta. clicca sul segno di spunta a sinistra della risposta. Grazie. – gdoron