注意:我对 javascript 完全无知。
我已经将我的 ExtJS 4.1 MVC 应用程序分解为几个控制器,例如:
/app/controller/Auth
| |Quiz
| |Result
| |Blah...
|model/...
我想通过调用我和控制器中的函数来响应“事件”,而不是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
. 有什么指导吗?
谢谢!我真的很感谢所有伟大的想法和建议。