Próbuję scentralizować moją konfigurację sklepów EXTJS w mojej aplikacji, jednak nie mogę wymyślić, jak to się stało. Używam ExtJS 4.1.Przedłużanie Ext.data.Store
Mam sklep bazowy, który chcę przechowywać wszystkie powtarzające się elementy konfiguracji, a następnie moje bardziej szczegółowe sklepy, aby pomieścić to, co jest faktycznie inne.
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
}
});
Następnie chciałbym podać konkretne rzeczy magazynu w sklepie o zasadach sklepu -
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'
}
}
});
Co ja znalezieniem jest to, że po prostu robi się zachowywać w ogóle. Wierzę, że ma to coś wspólnego z proxy, ale po prostu nie mogę go wyśledzić.
Jaki jest prawidłowy sposób to zrobić? Wolałbym nie replikować tych samych rzeczy konfiguracyjnych (z mojego abstrakcyjnego sklepu) w ponad 350 sklepach w mojej aplikacji. Odtąd to jest to, co mam, i myślałem, że próbuję wdrożyć całkiem podstawową koncepcję ... bez skutku.
Wiem, że rzeczy nie działają, tak podstawowe jak rozmiar strony, a nawet autoLoad ... ponieważ nie są w ogóle respektowane.
Grałem z konstruktorami i dzwoniłem do rodzica.
Każda pomoc zostanie bardzo doceniona.
Bardzo ładny przykład modularyzacji konfiguracji zagnieżdżonych dla nadpisań, dzięki Evan! – dbrin
To podejście, z którym skończyłem. Dzięki za wgląd. –
@JimEckels, więc zaakceptuj odpowiedź. kliknij znak wyboru po lewej stronie odpowiedzi. dzięki. – gdoron