Wie füge ich zusätzliche Parameter, um ein ExtJS-handler?
Ich bin mit dem ExtJS-framework und ich habe die folgende Prozedur, die verwendet wird, ausschließlich als handler für einen button:
var myButtonHandler = function(button, event){
//code goes here
};
Taste meine definition sieht wie folgt aus:
var myButton = new Ext.Button({
id : 'myButton',
renderTo : 'mybutton',
text : 'Save',
handler : myButtonHandler,
scope : this
});
Wie Sie sehen können, ist der handler erhält die erwartete "button" und "Ereignis". Ich würde jedoch gerne einige zusätzliche Informationen zu meinem handler. Wie soll ich das tun?
InformationsquelleAutor Huuuze | 2009-03-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde tatsächlich verwenden Aliens createDelegate Prototyp.
Also, wie würden Sie behandeln diese innerhalb der myButtonHandler - Funktion, um Ihr [params]? Nur myButtonHandler([params])?
Ich ging voran und verändert das Beispiel besser zu zeigen, was Sie tun können, mit createDelegate. Auch in Ext4 und SenchaTouch createDelegate wurde, zog aus dem Funktionsprototyp und ist nun zugänglich nur durch Ext.createDelegate(functionToDelegate, Umfang, args, appendOrInsertIndex)
Hallo, ich würde gerne haben ein besseres Verständnis über diese. ich habe versucht, und es scheint, ich aber trotzdem nicht bekommen.angenommen, dass
myButtonHandler.createDelegate(this, [param1, param2], appendBooleanOrInsertionIndex)
wo param1,param2 Variablen? wenn ich will, zum Beispiel ` myButtonHandler.createDelegate (['Titel', 'Autor'], appendBooleanOrInsertionIndex)` inmybuttonHandler(){ //can i have this? alert(this.title); } what will then be the value of title? thanks }
InformationsquelleAutor Ballsacian1
Können Sie eine gute Lösung als Bradley vorgeschlagen hat. Hier ist ein Beispiel.
Wo repeatsStore - es ist ein zusätzlicher parameter, den ich übergeben will, um einen Ereignishandler der Schaltfläche.
Und Ihre handler sollten drei Parametern - die ersten beiden sind standard, und zuletzt ist Ihr.
InformationsquelleAutor Oleksandr_DJ
In Ext JS 4:
Dies gilt auch für ExtJS 3.4 (Die Verwendung von Ext.createDelegate)
InformationsquelleAutor Bradley
Ich weiß nicht, was ist es, das Sie übergeben möchten, aber mit einem wrapper könnte helfen:
Ja, sorry... korrigiert das jetzt. Danke.
InformationsquelleAutor Seb