【问题标题】:Under ExtJS 4 is there a way to load external components?在 ExtJS 4 下有没有办法加载外部组件?
【发布时间】:2012-08-24 11:34:06
【问题描述】:

我正在尝试设置我的 ExtJS 4 项目,因此我有三个顶级应用程序,例如,

/foo/app.js
/bar/app.js
/baz/app.js

每个“顶级”应用程序都是一个单独的 ExtJS 应用程序,每个应用程序都有自己的加载器。在某些情况下,我想要在所有三个应用程序之间共享通用组件,所以我有 /components 顶级目录。

如果我有一个组件名称说 ComponentA,

/components/componenta.js

如何将 ComponentA 放入所有三个应用程序中,以便单个应用程序可以引用或扩展它?

【问题讨论】:

    标签: extjs extjs4 components code-reuse


    【解决方案1】:

    您可以将相同的加载程序添加到每个应用程序app.js 文件中。

    Ext.Loader.setPath('Common', '../components/');
    

    然后在定义公共组件时为它们提供相同的命名空间,并将它们放在组件顶级文件夹中。

    componenta.js

    Ext.define('Common.componenta', {
        extend: 'Ext.panel.Panel',
        title: 'Component A'
    });
    

    然后公共命名空间将可供您在每个应用程序中扩展

    Ext.define('Foo.panel', {
        extend: 'Common.componenta',
        title: 'Foo Panel'
    });
    

    【讨论】:

    • 赞成。这是 Sencha 论坛上最近的讨论,更详细地描述了这种模式。 sencha.com/forum/…
    • 谢谢,这比我想象的要简单得多。
    猜你喜欢
    • 1970-01-01
    • 2023-02-07
    • 1970-01-01
    • 2017-08-26
    • 1970-01-01
    • 1970-01-01
    • 2021-11-04
    • 2021-03-14
    • 2021-06-09
    相关资源
    最近更新 更多