ExtJS 4.1 Rufen Sie einen Controller von einem anderen auf
Hinweis: Ich bin ein absoluter Ignorant in Bezug auf Javascript.
Ich habe meine ExtJS 4.1 MVC-App in mehrere Controller aufgeteilt:
/app/controller/Auth
| |Quiz
| |Result
| |Blah...
|model/...
Ich möchte auf ein "Ereignis" antworten, nicht auf einDOM-Ereigniseher aExt.form.action.Submit.success
Ereignis durch Aufrufen von Funktionen inbeide meineAuth
undQuiz
Steuerungen. Der zusammengefasste Code für den ersten Teil ist hier:
// File: app/controller/Auth.js
attemptLogin : function() {
var form = Ext.ComponentQuery.query('#loginpanel')[0].form;
if (form.isValid()) {
form.submit({
success : function(form, action) {
// THIS IS THE FUNCTION FROM THE CURRENT CONTROLLER
Assessor.controller.Auth.prototype.finishLogin();
// THIS IS THE FUNCTION FROM THE OTHER CONTROLLER
Assessor.controller.Quiz.prototype.setupAssessment();
},
Das funktioniert, fühlt sich aber falsch an. Gibt es einen richtigen Weg, dies zu tun? Es scheint, als sollte ich ein einzigartiges Ereignis auslösen, das von beiden Controllern abgehört wird, aber ich kann nicht verstehen, wie das gehtExt.Event
. Irgendeine Anleitung?
Vielen Dank! Ich bin sehr dankbar für all die tollen Ideen und Ratschläge.