Я использую ExtJS 5.1, я хотел бы вызвать метод в ViewController Вот мой Вид:Extjs 5.1: метод в ViewController не вызывается
Ext.define("bdociTabletProto.view.main.Main", {
extend: "Ext.container.Container",
requires: ['bdociTabletProto.view.main.MainController'],
controller: "mainController",
initComponent: function() {
var me = this;
me.layout = "border";
....
me.items = [...];
me.listeners = {
afterlayout: 'onMainAfterLayout',
scope: 'controller'
};
me.callParent(arguments);
}
});
и вот ViewController где я реализую onMainAfterLayout
метод:
Ext.define("bdociTabletProto.view.main.MainController", {
extend: 'Ext.app.ViewController',
alias: 'controller.mainController',
onMainAfterLayout: function (container) {
var me = this;
var docNavigator = me.getView().docNavigator;
var workflowActions = me.getView().workflowActions;
docNavigator.setHeight(container.getHeight());
docNavigator.setWidth(container.getWidth()/4);
workflowActions.setPosition((container.getWidth() - workflowActions.getWidth())/2, 0);
}
});
это генерирует исключение: [Е] Ext.util.Event.getFireInfo(): Невозможно динамически разрешить простор для "afterlayout" слушателя на доб-Comp-1010
Впервые я написал слушателя без области видимости, но после поиска проблемы я обнаружил, что в новой версии Extjs (5.1) я должен установить свойство Scope.
Без установки свойства области видимости, ошибка так: Uncaught Ошибка: метод под названием «onMainAfterLayout» на bdociTabletProto.view.main.Main
Любой может помочь мне пожалуйста ?? Спасибо
Refenrece для этого решения можно найти в Слушателях и событиях Домены: http://docs.sencha.com/extjs/5.1/application_architecture/view_controllers.html – hyponym