Ich habe einen Proxy-Speicher, der auf zwei verschiedene Arten gefüllt wird - entweder über loadData
oder über load
.Ereignis, das ausgelöst wird, sobald der Speicher Daten enthält
Ich habe bestimmte Aktionen, die stattfinden sollten, sobald der Laden gefüllt ist; nämlich sollte ein bestimmter Datensatz gesucht und ausgewählt werden:
preselectByName:function(name, groupName) {
var store = this;
if(store.preselected) return;
store.preselected = true;
store.on('load',function() {
store.selectByName(name, groupName);
store.preselected = false;
},store,{single:true});
}
wie folgt aufgerufen:
if(store.isLoaded) store.selectByName(name, groupName);
else store.preselectByName(name, groupName);
Dieser Code funktioniert gut, wenn der Speicher über load
füllt, aber nicht über loadData
.
- Gibt es ein anderes Ereignis, das von beiden
load
undloadRecord
gebrannt wird? - Wie sonst würde ich einen Listener implementieren, der auf eines der beiden Ereignisse feuert, je nachdem, was zuerst eintritt?
Ja, kann es zu oft ein Problem, dass 'datachanged' Feuer sein.Ich werde es mir ansehen; Aber da die Datensätze im Laden in Formularen bearbeitet werden können und ich nur auf 'load' oder' loadData' feuern möchte, bin ich mir nicht sicher, ob das der richtige Weg ist. – Alexander
Vielleicht könnten Sie etwas versuchen: Statt 'loadData()' könnten Sie versuchen, den Proxy in einen 'Speicherproxy' zu ändern, die 'data' Eigenschaft auf die benötigten Daten zu setzen, dann' load() 'und schließlich in Das 'load event' ändert den Proxy in das Original zurück. Ich habe das nicht getestet, nur eine Idee. Vielleicht ein bisschen ratlos. –