注: 私は JavaScript に関してまったく無知です。
ExtJS 4.1 MVC アプリを次のようないくつかのコントローラーに分割しました。
/app/controller/Auth
| |Quiz
| |Result
| |Blah...
|model/...
myとcontrollerの両方で関数を呼び出して、 DOM Eventではなく「イベント」に応答したい。最初の部分の要約コードは次のとおりです。Ext.form.action.Submit.success
Auth
Quiz
// 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();
},
これは機能しますが、気分が悪いです。これを行う適切な方法はありますか?両方のコントローラーがリッスンする固有のイベントを発生させる必要があるようですが、 でそれを行う方法がわかりませんExt.Event
。ガイダンスはありますか?
ありがとう!素晴らしいアイデアとアドバイスをいただき、本当に感謝しています。