ExtJS 主应用程序中的多个子应用程序

问题描述 投票:0回答:1

我正在尝试在一个父应用程序中使用多个应用程序。

这是示例小提琴,如下所示:

Ext.application({
    name : 'Parent app',
    launch : function() {

        Ext.application({
            name: 'ChildApp1',
            sayHello: function(){
                console.log('ChildApp 1');
            }
        });

        Ext.application({
            name: 'ChildApp2',
            sayHello: function(){
                console.log('ChildApp 2');
            }
        });

但是当我尝试在应用程序之间进行交互时,似乎最后一个应用程序重写了整个主命名空间。

我正在尝试动态访问特定应用程序,但我只获得最后创建的应用程序。

const appName = 'ChildApp1'; Ext.app.Application.instance.getApplication(appName).sayHello(); // calls ChildApp2 method
如何动态地相互调用(我事先不知道应用程序名称)多个应用程序方法?

我对类架构/定义是否正确?

javascript extjs extjs7
1个回答
0
投票
我通过将 Ext.application 重写为扩展 Ext.app.Application 的类定义来解决这个问题,如下所示:

Ext.application({ name : 'Parent app', launch : function() { Ext.define('ChildApp1', { extend: 'Ext.app.Application', name: 'ChildApp1', sayHello: function() { console.log('ChildApp 1'); } });
现在您可以像这样调用各种应用程序方法:

const app1 = Ext.create('ChildApp1'); app1.sayHello();
这是

小提琴

© www.soinside.com 2019 - 2024. All rights reserved.