extjs4 — Как вызвать прикладную функцию из контроллера?

#extjs

#extjs

Вопрос:

Учитывая приложение:

 Ext.application({
    name: 'APP',
    appFolder: 'app',

    funcA: function() {
        console.log('called funcA');
    },

    launch: function() {
        ...
        var funcB = function() {
            console.log('called funcB');
        }
        ...
    }
});
  

Мой контроллер может вызывать this.application.funcA(), но не funcB() в методе запуска. Как я могу вызвать funcB() извне?

Ответ №1:

Вы не можете, поскольку funcB является закрытым для вашего обратного вызова launch, вы можете переместить его за пределы обратного вызова, как и вы funcA . По сути, все, что определено внутри функции, является закрытым для этой функции.

Комментарии:

1. Спасибо … кажется очевидным, когда вы так говорите. Я спросил, потому что у меня есть некоторые локальные функции при запуске, которые создают объекты в моем окне просмотра (например, панель вкладок). Как лучше всего использовать эти объекты для контроллеров (например, для добавления вкладок на панель)?